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

1858

Shipped

179096%

In progress

50%

Not started

634%

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-ADM-7271m ago

    /platform/github/issues must provide a repository-scoped issue list with server-side search, filters, sorting, and pagination for issue state, labels, assignees, milestone, readiness, aiAllowed, risk tier, run status, PR status, and stale…

    fix: contain github issue action failures

  • ShippedREQ-ADM-7301m ago

    The dashboard must expose explicit dispatch and dry-run packet preview actions. A dry run must create no branch and start no agent; it only validates readiness, renders the lane packet, estimates risk/cost, and records audit evidence. A di…

    fix: contain github issue action failures

  • ShippedREQ-ADM-7311m ago

    Platform operators must be able to cancel queued or running GitHub issue agent runs from the dashboard. Queued runs must move directly to cancelled. Running runs must move through cancel_requested and cancelling, send a cooperative stop si…

    fix: contain github issue action failures

  • ShippedREQ-WIZ-5023h ago

    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…

    fix(web): add platform purchase task retry cadence (#547)

  • ShippedREQ-QLT-0053h ago

    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.

    fix(web): add platform purchase task retry cadence (#547)

  • ShippedREQ-QLT-0063h ago

    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.

    fix(web): add platform purchase task retry cadence (#547)

  • ShippedREQ-ARC-0333h ago

    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…

    fix(web): add platform purchase task retry cadence (#547)

  • ShippedREQ-ARC-0363h ago

    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…

    fix(web): add platform purchase task retry cadence (#547)

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…

    19h 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."

    19h 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.

    19h 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.

    19h 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.

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

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

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

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

    19h 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.

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

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

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

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

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

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

    3h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

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

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

    19h 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.

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

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

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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).

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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-…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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…

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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
35 shipped1 wip1 todo95%
  • 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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).

    19h 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.

    19h 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…

    7h 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…

    7h ago
    packages/db/src/repositories/productLibrary.ts×2
  • 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…

    10h 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…

    10h 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…

    10h 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…

    10h 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…

    10h 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…

    7h ago
    packages/db/src/repositories/productLibrary.ts×4apps/web/src/app/api/product-library/media/[assetId]/route.ts×2apps/web/src/app/(platform)/platform/product-library/actions.ts+2 more
  • 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…

    7h 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…

    10h 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…

    10h ago
    apps/web/src/app/(platform)/platform/product-library/actions.ts×4apps/web/src/lib/productLibraryChecker.tspackages/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…

    7h 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…

    7h 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…

    10h 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…

    10h 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…

    7h ago
    packages/core/src/productLibrary/index.ts×3apps/web/src/app/(platform)/platform/product-library/actions.ts×2packages/db/src/repositories/productLibrary.ts×2+1 more
  • 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…

    10h 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…

    10h ago
    apps/web/src/app/(platform)/platform/product-library/actions.ts×2apps/web/src/lib/productLibraryModa.ts×2
  • ShippedREQ-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…

    7h ago
    apps/web/src/app/(platform)/platform/product-library/actions.ts×4packages/db/src/repositories/productLibrary.ts×4apps/web/src/app/(platform)/platform/product-library/ProductLibraryForms.tsx+3 more
  • 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…

    10h 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…

    10h 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…

    10h 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…

    7h 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…

    10h 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…

    10h ago
    apps/web/src/app/(platform)/platform/product-library/actions.tsapps/web/src/lib/productLibraryChecker.tspackages/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…

    10h 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).

    19h 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).

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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 �…

    19h 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…

    19h 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…

    19h 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:

    19h 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.

    19h 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.

    19h 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:

    19h 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:

    19h 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.

    19h 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).

    19h 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:

    19h 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…

    19h 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:

    19h 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.

    19h 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.

    19h 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:

    19h 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.

    19h 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.

    19h 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…

    19h 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.

    19h 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…

    19h 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.

    19h 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:

    19h 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…

    19h 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…

    19h 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.

    19h 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…

    19h 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.

    19h 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…

    19h 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…

    19h 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).

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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).

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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…

    19h 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…

    19h 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.

    19h 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.

    19h 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-…

    19h 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.

    19h 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.

    19h 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.

    19h 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 ???).

    19h 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.

    19h 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.

    19h 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.

    19h 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).

    19h 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.

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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).

    19h 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.

    19h 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.

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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.

    19h 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…

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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.

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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.

    19h 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…

    19h 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…

    19h 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.

    19h 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…

    19h 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…

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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-…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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.

    19h 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…

    19h 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…

    19h 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),…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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:…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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: "…

    19h 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"…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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,…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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,…

    19h 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,…

    19h 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,…

    19h 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…

    19h 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,…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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, /…

    19h 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).

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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)…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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).

    19h 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…

    19h 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.

    19h 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).

    19h 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.

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    3h 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…

    19h 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,…

    19h 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.

    19h 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.

    19h ago
    packages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-FUL-003

    Support partial shipments, backorders, and customer-approved substitutions.

    19h ago
    packages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-FUL-004

    Support store pickup and local delivery as fulfillment methods.

    19h 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.

    19h ago
    packages/core/src/retailRuntimeReadiness/index.ts
  • ShippedREQ-FUL-006

    Refunds must support original-tender, store credit, and gift card, with tax correctly reversed.

    19h 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.

    19h 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…

    19h 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…

    19h 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.

    19h 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 +…

    19h 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.

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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).

    19h 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…

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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).

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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..."…

    19h 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.…

    19h 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…

    19h 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…

    19h 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…

    19h 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).

    19h 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…

    19h 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).

    19h 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…

    19h 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,…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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:

    19h 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…

    19h 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.

    19h 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"].

    19h 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…

    19h 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).

    19h 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).

    19h 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).

    19h 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).

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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).

    19h 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).

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-INF-003

    Discount codes attributable to influencers, with usage limits.

    19h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-INF-004

    Commission tracking visible to both the store and the influencer in real time.

    19h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-INF-010

    Support percentage, fixed, tiered, and product/event-specific commission schedules.

    19h 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.

    19h 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.

    19h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-INF-021

    Attribution sources include referral link clicks, discount code redemption, and customer-linked sessions.

    19h 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).

    19h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-INF-030

    The system must persist: Influencers, ReferralLinks, DiscountCodes, AttributionSessions, Orders, OrderAttribution, OrderItems, CommissionRules, CommissionLedger, Payouts.

    19h 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.

    19h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-INF-041

    The payout pipeline must reconcile against the commission ledger and produce per-payout statements.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    3h 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.

    3h 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…

    19h 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.

    19h 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.

    19h 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.

    19h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-GSW-004

    The wizard must compute and display total yardage, estimated subtotal, and substitution options.

    19h 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.

    19h 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.

    19h 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).

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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:

    19h 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).

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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

    19h 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…

    19h 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…

    19h 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…

    19h 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).

    19h 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).

    19h 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).

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h ago
    apps/web/src/app/admin/audit/page.tsx
  • ShippedREQ-STF-003

    Multi-location support with per-location inventory, staff assignments, and transfer workflow.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-RPT-004

    Influencer reports: revenue attribution, commission accrued, payout status, ROI by campaign.

    19h ago
    packages/core/src/platformOperationsReadiness/index.ts
  • ShippedREQ-RPT-005

    All reports must be exportable (CSV) and accessible via the API (�24).

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h ago
    packages/core/src/platformAssuranceReadiness/index.test.ts×3packages/core/src/platformAssuranceReadiness/index.tspackages/core/src/platformQualityReadiness/index.test.ts
REQ-SECSecurity, Privacy & Compliance
22 shipped0 wip3 todo88%
  • ShippedREQ-SEC-001

    Authentication via a managed identity provider with MFA support; device-bound sessions for POS.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-SEC-006

    Vulnerability management: dependency scanning in CI, periodic third-party penetration tests, bug-bounty contact.

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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…

    19h 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.

    19h 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).

    19h 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+).

    19h 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.

    19h 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.

    19h 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…

  • ShippedREQ-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…

    3h ago
    apps/web/src/env.tsapps/web/src/lib/productLibraryCookieSession.ts
  • ShippedREQ-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…

    7h ago
    apps/web/src/app/(platform)/platform/product-library/actions.ts×5packages/db/src/repositories/productLibrary.ts×3apps/web/src/app/(platform)/platform/product-library/page.tsx×2+1 more
  • ShippedREQ-SEC-045

    Agent-control access must require platform operator authorization through /platform and must not be available to tenant admins, storefront users, account users, unauthenticated users, or GitHub issue participants who are not BoltToCart pla…

    3h ago
    apps/web/src/lib/githubAgent.ts×3apps/web/src/app/api/webhooks/github/route.tsapps/web/src/env.ts
  • ShippedREQ-SEC-046

    GitHub issue content, comments, labels, branch names, and PR text are untrusted input. The platform must sanitize rendered Markdown/HTML, validate branch and label names, prevent prompt-injection text from changing governance state, and ne…

    3h ago
    packages/core/src/agentControl/index.ts
  • Not startedREQ-SEC-047

    Agent runs must be constrained by explicit repository, branch, write fence, budget, and risk permissions. The runtime must not receive broad production secrets, payment secrets, customer PII exports, tenant data exports, or database creden…

  • ShippedREQ-SEC-048

    All agent-control audit rows must be immutable from product code and must record actor id, action, target repository/issue/run/PR, prior value, new value, reason where required, source IP or request id when available, timestamp, and result…

    3h ago
    packages/db/src/repositories/platformAgentControl.ts×7apps/web/src/lib/githubAgent.ts
  • Not startedREQ-SEC-049

    Agent logs, prompts, tool transcripts, test output, issue snapshots, and PR summaries must be classified and redacted before display or export. They must not expose secrets, webhook payload signatures, installation tokens, environment dump…

REQ-ANLAnalytics & Telemetry
28 shipped1 wip11 todo70%
  • 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…

    19h 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;…

    19h 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…

    19h 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.

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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…

    19h 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.

    19h 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.

    3h 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.

    19h 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.

    19h ago
    packages/core/src/retailRuntimeReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-ANL-050

    Named SLIs per SLO target in �28. At minimum:

    19h 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.

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

  • ShippedREQ-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…

    10h ago
    apps/web/src/app/(platform)/platform/product-library/actions.ts×6apps/web/src/lib/productLibraryIngestionTelemetry.ts
  • 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…

  • Not startedREQ-ANL-515

    Agent-control telemetry must emit typed events through packages/core/telemetry and the event catalog for repository connected/disconnected, issue synced, AI eligibility changed, readiness computed, dispatch requested, run queued, run start…

  • Not startedREQ-ANL-516

    The platform-operator dashboard must include agent-control tiles per REQ-ANL-041 and REQ-ANL-042, including active runs, queued runs, cancellation requests, stale heartbeats, failed-run rate, average time-to-draft-PR, CI pass rate for agen…

  • Not startedREQ-ANL-517

    Agent cost reporting must track estimated and actual runtime cost in integer minor units by run, issue, repository, lane, risk tier, and billing window. The dashboard must warn at configurable thresholds, stop dispatch when a repository or…

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.

    19h 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.

    19h 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.

    19h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-OBS-004

    Public status page fed by real probes, with scheduled-maintenance windows.

    19h 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.

    19h 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.

    19h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-OBS-007

    Backups retained ??? 30 days with quarterly restore rehearsals.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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").

    19h 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.

    19h 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…

    19h 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…

    19h 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'…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h ago
    apps/web/src/app/globals.csspackages/core/src/publicExperienceReadiness/index.ts
REQ-NFRNon-functional Requirements
23 shipped0 wip13 todo64%
  • ShippedREQ-NFR-001

    Availability: 99.9% monthly for customer-facing APIs and storefronts; 99.95% for POS sales path.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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.

    19h 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,…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

  • ShippedREQ-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…

    7h ago
    apps/web/src/app/(platform)/platform/product-library/actions.ts×3apps/web/src/app/(platform)/platform/product-library/page.tsx×2apps/web/src/lib/productLibraryCheckerCrawler.ts×2+7 more
  • 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…

  • Not startedREQ-NFR-525

    GitHub issue list and issue detail pages must remain usable for at least 10 connected repositories, 25,000 synchronized issues, 250,000 synchronized comments, and 1,000 agent runs. Server-side list queries must return p95 under 800 ms agai…

  • ShippedREQ-NFR-526

    Agent dispatch must enforce configurable global and per-repository concurrency limits, with a default of no more than one running agent per issue and no overlapping active write fences. The dispatcher must reject new runs when the risk tie…

    3h ago
    packages/core/src/agentControl/index.ts
  • ShippedREQ-NFR-527

    Cancellation must be responsive and observable. For a healthy runtime adapter, a running agent must acknowledge cancellation within 30 seconds p95 and reach cancelled or force_cancelled within 2 minutes p95. The dashboard must show last he…

    3h ago
    packages/db/src/repositories/platformAgentControl.ts×2packages/core/src/agentControl/index.ts
  • Not startedREQ-NFR-528

    Local and CI verification for agent-control must include deterministic GitHub webhook fixtures, API contract fixtures, seeded repository/issue/run data, cancellation state-machine tests, budget-limit tests, stale-heartbeat tests, and opera…

REQ-ARCSystem Architecture & Infrastructure
54 shipped0 wip1 todo98%
  • ShippedREQ-ARC-001

    Capability-first: requirements describe capabilities and constraints; vendors are chosen to satisfy them and recorded in the RFC log (�32).

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-020

    Must reach certified payments SDKs, Bluetooth HID, ESC/POS printing, and offline SQLite.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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).

    19h 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.

    19h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-027

    Must return carrier-rated rates at checkout, purchase labels, and emit tracking events.

    19h 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.

    19h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-028.2

    Interactive quilt pattern preview (�15) ??? user-facing, sub-frame updates as fabrics swap.

    19h 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.

    19h 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…

    19h 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…

    19h 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.

    19h 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…

    19h 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.

    19h 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…

    19h 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.

    19h 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…

    3h 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…

    3h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h ago
    packages/core/src/platformAssuranceReadiness/index.ts
  • ShippedREQ-ARC-510

    Event catalog: add csvImportCompleted to packages/events/src/domain/jobs.ts.

    19h 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…

    19h 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?,…

    19h 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…

    19h 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…

    19h 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…

    19h ago
    packages/db/src/schema/coupons.ts×3packages/testing/src/coupons.test.ts×3packages/db/src/migrations/0024_coupons.sql×2+2 more
  • ShippedREQ-ARC-516

    GitHub Issues are the external source of truth for backlog discussion, but BoltToCart must own the agent-control plane. GitHub issue title, body, comments, labels, assignees, milestone, state, and linked pull requests are mirrored from Git…

    3h ago
    packages/core/src/agentControl/index.tspackages/db/src/repositories/platformAgentControl.ts
  • Not startedREQ-ARC-517

    GitHub integration must use a GitHub App installation or equivalently scoped machine credential with least-privilege repository permissions. Webhooks must verify signatures before parsing payloads, synchronize idempotently by repository an…

  • ShippedREQ-ARC-518

    Agent dispatch must generate a self-contained lane packet from the issue, required REQ-IDs, selected lane, write fence, risk tier, base branch/SHA, verification commands, budget cap, and PR instructions. The packet must reuse the repositor…

    3h ago
    packages/db/src/repositories/platformAgentControl.ts×2packages/core/src/agentControl/index.ts
  • ShippedREQ-ARC-519

    Agent runs must follow a durable state machine with explicit states for draft, ready, queued, starting, running, cancel_requested, cancelling, cancelled, force_cancelled, cancel_failed, failed, needs_review, completed, and superseded. Stat…

    3h ago
    packages/core/src/agentControl/index.ts
  • ShippedREQ-ARC-520

    Agent execution must be adapter-based so the platform can support more than one coding-agent runtime without changing issue governance semantics. The adapter contract must include start, heartbeat, append-artifact, request-cancel, force-ca…

    3h ago
    packages/core/src/agentControl/index.ts
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.

    19h 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.

    19h ago
    packages/core/src/platformOperationsReadiness/index.tspackages/core/src/revenueOperationsReadiness/index.ts
  • ShippedREQ-MON-003

    Optional transaction-fee component on card processing, disclosed transparently.

    19h 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.

    19h 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…

    3h ago
    packages/events/src/registry.ts×2apps/web/src/app/api/cron/domain-registration-retry/route.tspackages/core/src/platformOperationsReadiness/index.ts+3 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…

    3h 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.

    3h 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…

    3h 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…

    3h 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…

    3h 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…

    3h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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).

    19h 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…

    19h 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…

    19h 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…

    3h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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…

    19h 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).

    19h 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).

    19h 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).

    19h 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).

    19h 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
219 shipped1 wip15 todo93%
  • 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…

    19h 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…

    19h 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…

    19h 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=…

    19h 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…

    19h 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…

    19h 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 |…

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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…

    19h 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.

    19h 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.

    19h 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…

    9h 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…

    19h 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;…

    19h 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…

    19h 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…

    19h 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…

    19h 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]),…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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),…

    19h 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> / <…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    3h 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…

    19h 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…

    19h 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…

    3h ago
    apps/web/src/app/admin/_lib/storefrontRetentionReadiness.tsapps/web/src/app/admin/settings/actions.tsapps/web/src/app/api/cron/domain-registration-retry/route.ts+11 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…

    3h ago
    apps/web/src/app/admin/_lib/storefrontRetentionReadiness.tsapps/web/src/app/api/cron/domain-registration-retry/route.tspackages/db/src/migrations/0038_platform_domain_purchases.sql+1 more
  • 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…

    19h 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…

    3h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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,…

    19h 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…

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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,…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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/…

    19h 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
  • ShippedREQ-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…

    10h ago
    apps/web/src/app/(platform)/platform/product-library/page.tsx
  • 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…

  • ShippedREQ-ADM-726

    Platform operators must be able to purge every shared product-library record across all review states from the product-library console after a destructive confirmation dialog and exact confirmation phrase. The purge must remove library rec…

    7h ago
    apps/web/src/app/(platform)/platform/product-library/ProductLibraryForms.tsxapps/web/src/app/(platform)/platform/product-library/actions.tsapps/web/src/app/(platform)/platform/product-library/page.tsx+1 more
  • ShippedREQ-ADM-727

    /platform/github/issues must provide a repository-scoped issue list with server-side search, filters, sorting, and pagination for issue state, labels, assignees, milestone, readiness, aiAllowed, risk tier, run status, PR status, and stale…

    1m ago
    apps/web/src/app/(platform)/platform/github/issues/actions.ts×4apps/web/src/lib/githubAgent.tspackages/db/src/repositories/platformAgentControl.ts
  • ShippedREQ-ADM-728

    /platform/github/issues/[repo]/[number] must provide an issue detail view combining synchronized GitHub issue content with BoltToCart-only governance controls. Operators must be able to edit the AI eligibility flag, required REQ-IDs, risk…

    3h ago
    packages/db/src/repositories/platformAgentControl.ts
  • ShippedREQ-ADM-729

    The issue detail view must compute dispatch readiness before an agent can run. At minimum readiness requires the global feature flag, repository processing enablement, issue-level aiAllowed, at least one valid REQ-ID or approved RFC refere…

    3h ago
    packages/core/src/agentControl/index.ts×2packages/db/src/repositories/platformAgentControl.ts
  • ShippedREQ-ADM-730

    The dashboard must expose explicit dispatch and dry-run packet preview actions. A dry run must create no branch and start no agent; it only validates readiness, renders the lane packet, estimates risk/cost, and records audit evidence. A di…

    1m ago
    packages/db/src/repositories/platformAgentControl.ts×3apps/web/src/app/(platform)/platform/github/issues/actions.tspackages/core/src/agentControl/index.ts
  • ShippedREQ-ADM-731

    Platform operators must be able to cancel queued or running GitHub issue agent runs from the dashboard. Queued runs must move directly to cancelled. Running runs must move through cancel_requested and cancelling, send a cooperative stop si…

    1m ago
    packages/core/src/agentControl/index.test.ts×5packages/db/src/repositories/platformAgentControl.ts×2apps/web/src/app/(platform)/platform/github/issues/actions.ts+1 more
  • Not startedREQ-ADM-732

    The agent-run detail view must show run status, prompt checksum, lane packet, base branch/SHA, working branch, linked issue, linked pull request, changed-file summary, commits, verification commands, local test summaries, CI checks, review…

  • Not startedREQ-ADM-733

    Agent-created pull requests must remain draft until required local verification and CI evidence are attached. Agents may push commits and respond to review feedback within the authorized write fence, but they must not approve, mark ready,…

  • ShippedREQ-ADM-734

    High-risk issue dispatch must require elevated platform approval before start. High-risk work includes auth, payments, RLS, migrations, tenant resolution, money, yardage, webhook verification, telemetry wrappers, package/dependency changes…

    3h ago
    packages/core/src/agentControl/index.ts×2packages/core/src/agentControl/index.test.ts
  • ShippedREQ-ADM-735

    GitHub issue CRUD in the platform console must be explicit about GitHub lifecycle semantics. Operators may create issues, edit titles/bodies, add comments, change labels/assignees/milestones, close, reopen, and mark local records hidden or…

    3h ago
    packages/db/src/repositories/platformAgentControl.ts×2apps/web/src/lib/githubAgent.ts
  • Not startedREQ-ADM-736

    The platform dashboard must include an oversight board for agent work showing queued/running runs, cancellation requests, stale heartbeats, failed runs, budget burn, high-risk approvals, PRs awaiting review, CI failures, review-requested c…

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.

    19h 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.

    19h 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)

    19h 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)

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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…

    19h 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…

    19h 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,…

    3h 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…

    19h 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,…

    19h 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…

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h ago
    packages/core/src/commerceReadiness/index.test.tspackages/core/src/customerAutomationReadiness/index.test.tspackages/core/src/customerAutomationReadiness/index.ts+2 more
REQ-JOBBackground Jobs
45 shipped0 wip5 todo90%
  • 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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'.

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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]…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

  • ShippedREQ-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…

    3h ago
    apps/web/src/app/(platform)/platform/product-library/actions.tsapps/web/src/app/api/cron/product-library-moda-crawl/route.tsapps/web/src/env.ts+1 more
  • ShippedREQ-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.…

    10h ago
    apps/web/src/app/(platform)/platform/product-library/actions.ts×7apps/web/src/lib/productLibraryCheckerCrawler.ts×2apps/web/src/lib/productLibraryModaCrawler.ts×2+4 more
  • ShippedREQ-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…

    10h ago
    apps/web/src/app/(platform)/platform/product-library/actions.ts×4apps/web/src/lib/productLibraryChecker.tsapps/web/src/lib/productLibraryModa.ts
  • ShippedREQ-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…

    10h ago
    apps/web/src/app/(platform)/platform/product-library/actions.ts×6apps/web/src/lib/productLibraryChecker.test.tsapps/web/src/lib/productLibraryChecker.ts+3 more
  • ShippedREQ-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…

    7h ago
    apps/web/src/app/(platform)/platform/product-library/actions.ts×6apps/web/src/lib/productLibraryImageStorage.tspackages/db/src/repositories/productLibrary.ts
  • 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…

  • ShippedREQ-JOB-546

    GitHub repository synchronization must run as an idempotent background job with webhook-triggered and scheduled reconciliation modes. The job must sync repositories, issues, labels, assignees, milestones, comments, linked pull requests, PR…

    3h ago
    apps/web/src/app/api/cron/github-agent-sync/route.tsapps/web/src/env.tsapps/web/src/lib/githubAgent.ts
  • ShippedREQ-JOB-547

    Agent dispatch must run through a queue-backed background job that claims ready runs with concurrency limits by repository, lane, risk tier, and global budget window. The job must re-check readiness and write-fence conflicts immediately be…

    3h ago
    packages/db/src/repositories/platformAgentControl.ts
  • Not startedREQ-JOB-548

    Agent runtime supervision must record periodic heartbeats, status, cost usage, current step, active branch, linked PR, changed-file summary, and cancellation acknowledgement. A stale heartbeat must pause additional dispatch for the affecte…

  • Not startedREQ-JOB-549

    Pull request and CI synchronization must link agent runs to their branches and PRs, classify CI as pending/passing/failing/cancelled/stale, ingest review-requested changes, and surface merge blockers without granting the agent merge author…

  • Not startedREQ-JOB-550

    Agent cleanup and reconciliation must be non-destructive by default. Completed, failed, cancelled, and superseded runs may be archived from primary dashboards, but branches, PRs, commits, issue comments, logs, and audit rows must be preser…

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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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"…

    19h 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…

    19h 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,…

    19h 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…

    19h 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…

    19h 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.

    19h 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.…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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 �??…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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;…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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_…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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)…

    19h 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…

    19h 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.…

    19h 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…

    19h 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).…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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"),…

    19h 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.

    19h 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…

    19h 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)…

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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.

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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.

    19h 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.

    19h 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.

    19h 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.

    19h 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…

    19h 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…

    19h ago
    apps/web/src/components/MobileNavDrawer.tsx×2
REQ-OPSREQ-OPS
7 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…

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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,…

    19h ago
    packages/core/src/operationalTelemetryReadiness/index.test.tspackages/core/src/platformOperationsReadiness/index.tspackages/core/src/platformQualityReadiness/index.test.ts+2 more
  • ShippedREQ-OPS-007

    The /platform console must expose a GitHub issue agent-control surface for BoltToCart operator admins. The surface must let operators connect approved GitHub repositories, browse synchronized issues, create and update issue records, manage…

    3h ago
    packages/core/src/agentControl/index.test.ts×2packages/db/src/repositories/platformAgentControl.ts×2apps/web/src/env.ts+1 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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.

    19h 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…

    19h 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…

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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,…

    19h 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.

    19h 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…

    19h 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…

    19h 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.

    19h 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…

    19h 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…

    19h 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…

    19h 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,…

    3h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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…

    19h 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 →