{
  "generatedAt": "2026-04-28T04:59:29.927Z",
  "totalRequirements": 1524,
  "shipped": 618,
  "inProgress": 19,
  "notStarted": 887,
  "areas": [
    {
      "area": "REQ-VIS",
      "label": "Core Vision",
      "total": 3,
      "shipped": 0,
      "inProgress": 0,
      "notStarted": 3,
      "requirements": [
        {
          "id": "REQ-VIS-001",
          "area": "REQ-VIS",
          "number": "001",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-VIS-002",
          "area": "REQ-VIS",
          "number": "002",
          "description": "The platform must let stores \"sell fabric the way customers actually buy it ??? by project, pattern, class, and creator ??? not just by the yard.\"",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-VIS-003",
          "area": "REQ-VIS",
          "number": "003",
          "description": "Every channel (POS, online, drops, events) reads from and writes to a single inventory source of truth.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-PER",
      "label": "Personas",
      "total": 8,
      "shipped": 0,
      "inProgress": 0,
      "notStarted": 8,
      "requirements": [
        {
          "id": "REQ-PER-001",
          "area": "REQ-PER",
          "number": "001",
          "description": "Store Owner ??? configures the store, plans drops and classes, reviews analytics, manages billing.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PER-002",
          "area": "REQ-PER",
          "number": "002",
          "description": "Manager ??? supervises staff, approves adjustments, runs cycle counts, manages purchase orders.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PER-003",
          "area": "REQ-PER",
          "number": "003",
          "description": "Cashier / Cutter ??? cuts fabric, rings up sales at the POS, prints receipts.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PER-004",
          "area": "REQ-PER",
          "number": "004",
          "description": "Fulfillment Staff ??? picks, cuts, packs, and ships online orders.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PER-005",
          "area": "REQ-PER",
          "number": "005",
          "description": "Instructor ??? runs classes, checks students in, requests supply lists.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PER-006",
          "area": "REQ-PER",
          "number": "006",
          "description": "Customer ??? browses, shops, registers for events, follows drops, uses the guided project wizard.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PER-007",
          "area": "REQ-PER",
          "number": "007",
          "description": "Influencer / Affiliate ??? earns commission via referral links, discount codes, and attributed sessions.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PER-008",
          "area": "REQ-PER",
          "number": "008",
          "description": "Platform Operator (BoltToCart staff) ??? onboards stores, handles support, manages platform-wide configuration.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-GLO",
      "label": "Glossary & Domain Model",
      "total": 13,
      "shipped": 1,
      "inProgress": 0,
      "notStarted": 12,
      "requirements": [
        {
          "id": "REQ-GLO-001",
          "area": "REQ-GLO",
          "number": "001",
          "description": "Yard / WOF ??? the primary cut unit. \"Width of Fabric\" is the usable bolt width, typically 42???44\" for quilting cotton.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-GLO-002",
          "area": "REQ-GLO",
          "number": "002",
          "description": "Bolt ??? a physical roll of fabric with a unique ID, linked to a SKU, with a tracked remaining yardage.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-GLO-003",
          "area": "REQ-GLO",
          "number": "003",
          "description": "Cut ??? an action that removes yardage from a bolt and creates an order line item or adjustment record.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-GLO-004",
          "area": "REQ-GLO",
          "number": "004",
          "description": "Remnant ??? the residual length on a bolt below a configurable threshold (e.g., ??? 1 yd), typically marked down.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-GLO-005",
          "area": "REQ-GLO",
          "number": "005",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/schema/skus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-GLO-006",
          "area": "REQ-GLO",
          "number": "006",
          "description": "Bundle / Kit ??? a curated grouping of fabrics and/or notions sold together, optionally tied to a pattern or class.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-GLO-007",
          "area": "REQ-GLO",
          "number": "007",
          "description": "Colorway ??? a specific color variant of a print within a collection.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-GLO-008",
          "area": "REQ-GLO",
          "number": "008",
          "description": "Collection ??? a named group of fabrics released together by a designer/manufacturer.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-GLO-009",
          "area": "REQ-GLO",
          "number": "009",
          "description": "Repeat ??? the distance over which a pattern repeats, relevant to yardage calculation for large prints.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-GLO-010",
          "area": "REQ-GLO",
          "number": "010",
          "description": "Drop ??? a scheduled, time-bounded release of limited-inventory products.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-GLO-011",
          "area": "REQ-GLO",
          "number": "011",
          "description": "Cut-to-order ??? the workflow by which online orders are fulfilled by cutting from a bolt at the store.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-GLO-012",
          "area": "REQ-GLO",
          "number": "012",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-GLO-013",
          "area": "REQ-GLO",
          "number": "013",
          "description": "The system must preserve referential integrity from Cut ??? Bolt ??? SKU ??? Collection ??? Designer so reporting and attribution can roll up at any level.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-ONB",
      "label": "Store Onboarding",
      "total": 46,
      "shipped": 34,
      "inProgress": 0,
      "notStarted": 12,
      "requirements": [
        {
          "id": "REQ-ONB-001",
          "area": "REQ-ONB",
          "number": "001",
          "description": "Offer three setup modes on first launch: Start Fresh, Import Inventory, Full Inventory Setup.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ONB-002",
          "area": "REQ-ONB",
          "number": "002",
          "description": "Configure store profile (name, timezone, currency, tax jurisdictions, fulfillment regions, default units).",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ONB-003",
          "area": "REQ-ONB",
          "number": "003",
          "description": "Configure default categories, attributes, and pricing rules.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ONB-004",
          "area": "REQ-ONB",
          "number": "004",
          "description": "Generate SKUs and printable bolt labels from imported data.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ONB-005",
          "area": "REQ-ONB",
          "number": "005",
          "description": "Go live immediately once minimum profile and at least one payout destination are configured.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ONB-010",
          "area": "REQ-ONB",
          "number": "010",
          "description": "Clean Start ??? empty catalog, bolts created via receiving workflow.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ONB-011",
          "area": "REQ-ONB",
          "number": "011",
          "description": "Bulk Import + Progressive Accuracy ??? CSV/XLSX import of SKUs and estimated yardage; accuracy improves as bolts are scanned, cut, and reconciled.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ONB-012",
          "area": "REQ-ONB",
          "number": "012",
          "description": "Full Inventory Scan ??? guided physical count that creates bolt records as each is scanned and measured.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ONB-020",
          "area": "REQ-ONB",
          "number": "020",
          "description": "Inventory accuracy must improve over time via sales, adjustments, and cycle counts.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ONB-021",
          "area": "REQ-ONB",
          "number": "021",
          "description": "Workflow: scan to identify ??? enter yardage manually ??? reconcile.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ONB-022",
          "area": "REQ-ONB",
          "number": "022",
          "description": "The system must surface inventory confidence (e.g., \"last reconciled N days ago, drift �X%\") at bolt, SKU, and store level.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ONB-040",
          "area": "REQ-ONB",
          "number": "040",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0012_rain_migration_admin.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/migration/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-041",
          "area": "REQ-ONB",
          "number": "041",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/migration/page.tsx",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/migrationImportJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0012_rain_migration_admin.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-042",
          "area": "REQ-ONB",
          "number": "042",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/core/src/migration/rain.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/migration/_lib/templateReport.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/migration/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/core/src/migration/rain.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-043",
          "area": "REQ-ONB",
          "number": "043",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/migrationImportJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/migration/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0035_import_foundation.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/demo-data/src/packs/0012_rain_migration_admin.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/imports.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-044",
          "area": "REQ-ONB",
          "number": "044",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/migrationImportJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/migration/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0035_import_foundation.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/testing/src/imports.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-045",
          "area": "REQ-ONB",
          "number": "045",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/migrationImportJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/migration/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0035_import_foundation.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/demo-data/src/packs/0012_rain_migration_admin.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/imports.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-046",
          "area": "REQ-ONB",
          "number": "046",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/migration/page.tsx",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/migrationImportJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0035_import_foundation.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/demo-data/src/packs/0012_rain_migration_admin.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/imports.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 8,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-047",
          "area": "REQ-ONB",
          "number": "047",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/migrationImportJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/migration/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/migration/_lib/templateReport.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/admin/migration/_lib/templateReport.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-048",
          "area": "REQ-ONB",
          "number": "048",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/migrationImportJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/migration/page.tsx",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-049",
          "area": "REQ-ONB",
          "number": "049",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/migrationImportJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/migration/page.tsx",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-050",
          "area": "REQ-ONB",
          "number": "050",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/core/src/migration/rain.ts",
              "count": 14,
              "kind": "production"
            }
          ],
          "citationCount": 14,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-051",
          "area": "REQ-ONB",
          "number": "051",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/core/src/migration/rain.ts",
              "count": 8,
              "kind": "production"
            }
          ],
          "citationCount": 8,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-052",
          "area": "REQ-ONB",
          "number": "052",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/core/src/migration/rain.ts",
              "count": 4,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-053",
          "area": "REQ-ONB",
          "number": "053",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/core/src/migration/rain.ts",
              "count": 4,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-054",
          "area": "REQ-ONB",
          "number": "054",
          "description": "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-…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/core/src/migration/rain.ts",
              "count": 9,
              "kind": "production"
            },
            {
              "path": "packages/core/src/migration/rain.test.ts",
              "count": 4,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/admin/migration/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 14,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-055",
          "area": "REQ-ONB",
          "number": "055",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/core/src/migration/rain.ts",
              "count": 4,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-056",
          "area": "REQ-ONB",
          "number": "056",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/core/src/migration/rain.ts",
              "count": 8,
              "kind": "production"
            }
          ],
          "citationCount": 8,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-057",
          "area": "REQ-ONB",
          "number": "057",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/core/src/migration/rain.ts",
              "count": 11,
              "kind": "production"
            }
          ],
          "citationCount": 11,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-058",
          "area": "REQ-ONB",
          "number": "058",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/core/src/migration/rain.ts",
              "count": 9,
              "kind": "production"
            }
          ],
          "citationCount": 9,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-059",
          "area": "REQ-ONB",
          "number": "059",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/core/src/migration/rain.ts",
              "count": 4,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-060",
          "area": "REQ-ONB",
          "number": "060",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/core/src/migration/rain.ts",
              "count": 4,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-061",
          "area": "REQ-ONB",
          "number": "061",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/core/src/migration/rain.ts",
              "count": 6,
              "kind": "production"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-062",
          "area": "REQ-ONB",
          "number": "062",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/core/src/migration/rain.ts",
              "count": 6,
              "kind": "production"
            },
            {
              "path": "packages/core/src/migration/rain.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-063",
          "area": "REQ-ONB",
          "number": "063",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/core/src/migration/rain.ts",
              "count": 10,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/migration/_lib/checklistReport.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/admin/migration/_lib/checklistReport.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/migration/_lib/templateReport.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/admin/migration/_lib/templateReport.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/core/src/migration/rain.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 15,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-064",
          "area": "REQ-ONB",
          "number": "064",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/migration/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0035_import_foundation.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/demo-data/src/packs/0012_rain_migration_admin.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/imports.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-065",
          "area": "REQ-ONB",
          "number": "065",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/migration/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0035_import_foundation.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/demo-data/src/packs/0012_rain_migration_admin.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/imports.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-066",
          "area": "REQ-ONB",
          "number": "066",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/migration/page.tsx",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-067",
          "area": "REQ-ONB",
          "number": "067",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/events/src/domain/migrationImports.ts",
              "count": 10,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/migrationImportJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/migration/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/events/src/registry.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/events/src/registry.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 17,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-ONB-068",
          "area": "REQ-ONB",
          "number": "068",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/migration/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0012_rain_migration_admin.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-069",
          "area": "REQ-ONB",
          "number": "069",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/migration/page.tsx",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-070",
          "area": "REQ-ONB",
          "number": "070",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/migration/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0035_import_foundation.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/demo-data/src/packs/0012_rain_migration_admin.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/imports.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-071",
          "area": "REQ-ONB",
          "number": "071",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/migration/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0012_rain_migration_admin.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/migration/_lib/checklistReport.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/admin/migration/_lib/checklistReport.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-030",
          "area": "REQ-ONB",
          "number": "030",
          "description": "Minimum: iPad or tablet, receipt printer.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/hw/types.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-031",
          "area": "REQ-ONB",
          "number": "031",
          "description": "Recommended: Bluetooth barcode scanner, thermal label printer, cash drawer.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/hw/types.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ONB-032",
          "area": "REQ-ONB",
          "number": "032",
          "description": "See �23 for the full hardware ecosystem and protocol requirements.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-CAT",
      "label": "Catalog & Product Data",
      "total": 9,
      "shipped": 6,
      "inProgress": 0,
      "notStarted": 3,
      "requirements": [
        {
          "id": "REQ-CAT-001",
          "area": "REQ-CAT",
          "number": "001",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/migrations/0010_sku_catalog.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/schema/skus.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0006_storefront_catalog.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/catalog.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/widths/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/storefront.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0003_receiving.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/demo-data/src/packs/0001_bootstrap.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/skus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 13,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-CAT-002",
          "area": "REQ-CAT",
          "number": "002",
          "description": "Every SKU must capture one or more dominant colors (hex values) and color tags (e.g., \"sage\", \"navy\") for faceted and color search.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/testing/src/catalog.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "packages/db/src/migrations/0010_sku_catalog.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/schema/skus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0006_storefront_catalog.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-CAT-003",
          "area": "REQ-CAT",
          "number": "003",
          "description": "Every SKU must support multiple images with roles: hero, swatch, bolt-end, lifestyle, repeat preview.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/migrations/0017_sku_images.sql",
              "count": 5,
              "kind": "migration"
            },
            {
              "path": "packages/demo-data/src/packs/0011_storefront_images.ts",
              "count": 4,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/cart/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/ProductGallery.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/QuiltVisualizer.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/skuImages.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/skuImages.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/web/scripts/generateFabricImages.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/visualizer/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/ProductImage.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/ogBoltCard.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/storefront.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/core/src/quilt/patterns.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/skuImages.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 26,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-CAT-004",
          "area": "REQ-CAT",
          "number": "004",
          "description": "Every SKU must declare its unit of sale: by_yard, by_precut, by_unit, or by_kit.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/migrations/0010_sku_catalog.sql",
              "count": 4,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/schema/skus.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/catalog.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "packages/demo-data/src/packs/0006_storefront_catalog.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 9,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-CAT-005",
          "area": "REQ-CAT",
          "number": "005",
          "description": "Variants are permitted for differences in colorway, size (for precuts), or packaging.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-CAT-010",
          "area": "REQ-CAT",
          "number": "010",
          "description": "The catalog must support notions (thread, batting, needles, tools), patterns (physical + digital), books, and gift cards with appropriate attribute schemas.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-CAT-011",
          "area": "REQ-CAT",
          "number": "011",
          "description": "Digital goods (pattern PDFs) must support license-bound downloads with per-order expiry and rate-limited access.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-CAT-020",
          "area": "REQ-CAT",
          "number": "020",
          "description": "Images must be processed through a media pipeline that generates standard derivatives (thumbnail, card, swatch, zoom) and extracts dominant colors on upload (see �27).",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0011_storefront_images.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/ProductImage.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0017_sku_images.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/schema/skuImages.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/skuImages.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-CAT-021",
          "area": "REQ-CAT",
          "number": "021",
          "description": "Every image must carry or generate alt text.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/testing/src/skuImages.test.ts",
              "count": 4,
              "kind": "test"
            },
            {
              "path": "packages/db/src/migrations/0017_sku_images.sql",
              "count": 3,
              "kind": "migration"
            },
            {
              "path": "packages/demo-data/src/packs/0011_storefront_images.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/ProductImage.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/skuImages.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/storefront.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/skuImages.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/skuImages.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 17,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        }
      ]
    },
    {
      "area": "REQ-INV",
      "label": "Inventory Management",
      "total": 18,
      "shipped": 8,
      "inProgress": 0,
      "notStarted": 10,
      "requirements": [
        {
          "id": "REQ-INV-001",
          "area": "REQ-INV",
          "number": "001",
          "description": "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).",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/events/src/domain/pos.ts",
              "count": 4,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/cycleCounts.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/cart/cartTotals.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/roadmap.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "packages/core/src/cart/cart.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/bolts.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/orderLineItems.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/purchaseOrders.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/returnAuthorizations.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/inventoryDriftJob.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/inventoryZeroAlertJob.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/posShiftCloseEmailJob.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/cut/roundToSixteenth.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/criticalPath.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/cycleCountSession.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/core/src/yardage/yardage.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0003_receiving.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0004_cuts.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0018_customer_purchase_fields.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0019_orders.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0025_cycle_counts.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0029_purchase_orders.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0031_order_line_items.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0034_return_authorizations.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/cycleCounts.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/purchaseOrders.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/cuts.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/orders.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/coverage.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/bolts.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/orders.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/cuts.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/receiving.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 45,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-INV-002",
          "area": "REQ-INV",
          "number": "002",
          "description": "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).",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/migrations/0005_bolt_status.sql",
              "count": 3,
              "kind": "migration"
            },
            {
              "path": "apps/web/src/lib/roadmap.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "packages/core/src/bolts/status.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0003_lifecycle_transitions.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0004_admin_damaged_bolt.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/admin-lifecycle.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/admin/bolts/[boltId]/StatusOverrideControls.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/bolts/[boltId]/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0003_receiving.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0009_bolt_lineage.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/bolts.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0001_bootstrap.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0002_expanded_inventory.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/bolts.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/bolt-status.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/receiving.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/split-merge.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 24,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-INV-003",
          "area": "REQ-INV",
          "number": "003",
          "description": "The system must enforce non-negative remaining yardage and prevent concurrent over-cutting via row-level locking or equivalent serialization.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/roadmap.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/db/src/migrations/0004_cuts.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0005_bolt_status.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/bolts.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0002_expanded_inventory.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/inventory.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/admin-lifecycle.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/bolt-status.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/cuts.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 9,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-INV-004",
          "area": "REQ-INV",
          "number": "004",
          "description": "Adjustments, shrinkage, transfers between locations, and damage events must all be auditable with actor, reason, quantity delta, and timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-INV-010",
          "area": "REQ-INV",
          "number": "010",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/migrations/0005_bolt_status.sql",
              "count": 3,
              "kind": "migration"
            },
            {
              "path": "packages/testing/src/bolt-status.test.ts",
              "count": 3,
              "kind": "test"
            },
            {
              "path": "packages/db/src/repositories/bolts.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/stores.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/stores.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/admin-lifecycle.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/admin/settings/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/settings/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0002_expanded_inventory.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0003_lifecycle_transitions.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 18,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 4
        },
        {
          "id": "REQ-INV-011",
          "area": "REQ-INV",
          "number": "011",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/repositories/bolts.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/bolts/[boltId]/actions.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0009_bolt_lineage.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/demo-data/src/packs/0005_bolt_split_and_merge.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/bolts.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/split-merge.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/admin/bolts/[boltId]/MergeForm.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/bolts/[boltId]/SplitForm.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/bolts.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 16,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-INV-020",
          "area": "REQ-INV",
          "number": "020",
          "description": "Supplier records must capture contact info, lead times, payment terms, minimum order quantity, and preferred shipping methods.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0004_admin_damaged_bolt.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0003_receiving.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/schema/purchaseOrders.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/suppliers.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0001_bootstrap.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0002_expanded_inventory.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/receiving.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 8,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-INV-021",
          "area": "REQ-INV",
          "number": "021",
          "description": "Purchase orders (POs) must support draft, submitted, partially received, received, and closed states, with line items mapped to SKUs and expected quantities.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-INV-022",
          "area": "REQ-INV",
          "number": "022",
          "description": "The receiving workflow is the primary entry point for creating bolts: scan PO ??? confirm SKU ??? enter actual yardage ??? generate bolt ID and printable label.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-INV-023",
          "area": "REQ-INV",
          "number": "023",
          "description": "Landed cost (unit cost + freight + duty allocation) must be captured per receiving line to drive margin reporting.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-INV-024",
          "area": "REQ-INV",
          "number": "024",
          "description": "Advance Ship Notices (ASNs) should be importable where suppliers support them.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-INV-030",
          "area": "REQ-INV",
          "number": "030",
          "description": "The system must support partial and full cycle counts with variance reporting and bulk adjustment approval.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-INV-031",
          "area": "REQ-INV",
          "number": "031",
          "description": "Discrepancies must produce audit records and feed into the inventory-confidence score per �4.3.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-INV-040",
          "area": "REQ-INV",
          "number": "040",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-INV-041",
          "area": "REQ-INV",
          "number": "041",
          "description": "Alternative rules must include FIFO (oldest first), LIFO, and manual selection.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-INV-042",
          "area": "REQ-INV",
          "number": "042",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/core/src/bolts/selection.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-INV-050",
          "area": "REQ-INV",
          "number": "050",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/scan/parser.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hw/nfcReader.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hw/nfcWriter.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-INV-051",
          "area": "REQ-INV",
          "number": "051",
          "description": "Labels must be reprintable on demand and support at least two standard thermal label sizes.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-PRI",
      "label": "Pricing & Promotions",
      "total": 50,
      "shipped": 4,
      "inProgress": 0,
      "notStarted": 46,
      "requirements": [
        {
          "id": "REQ-PRI-001",
          "area": "REQ-PRI",
          "number": "001",
          "description": "Support per-yard pricing, per-unit pricing (precuts, notions), and per-kit pricing.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-002",
          "area": "REQ-PRI",
          "number": "002",
          "description": "Support volume breaks (e.g., 10% off at ??? 5 yards), customer-group pricing (retail, trade/wholesale, guild), and tax-exempt customer flags.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/storefront.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/skus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-PRI-003",
          "area": "REQ-PRI",
          "number": "003",
          "description": "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 �…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-004",
          "area": "REQ-PRI",
          "number": "004",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-005",
          "area": "REQ-PRI",
          "number": "005",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-010",
          "area": "REQ-PRI",
          "number": "010",
          "description": "Support the following discount mechanics as first-class primitives:",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-011",
          "area": "REQ-PRI",
          "number": "011",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-012",
          "area": "REQ-PRI",
          "number": "012",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-020",
          "area": "REQ-PRI",
          "number": "020",
          "description": "Support the following coupon code archetypes, each with the same underlying discount mechanic (�7.2) but different issuance and redemption semantics:",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-021",
          "area": "REQ-PRI",
          "number": "021",
          "description": "Code generation requirements:",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-022",
          "area": "REQ-PRI",
          "number": "022",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-023",
          "area": "REQ-PRI",
          "number": "023",
          "description": "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).",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/discountScanHandler.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/scan/parser.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/couponFlow.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-PRI-030",
          "area": "REQ-PRI",
          "number": "030",
          "description": "Every coupon/promotion must support the following eligibility dimensions, combinable with AND/OR logic:",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-031",
          "area": "REQ-PRI",
          "number": "031",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-032",
          "area": "REQ-PRI",
          "number": "032",
          "description": "Support usage limits, each independently configurable:",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-033",
          "area": "REQ-PRI",
          "number": "033",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-040",
          "area": "REQ-PRI",
          "number": "040",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-041",
          "area": "REQ-PRI",
          "number": "041",
          "description": "The resolution order for a cart is fixed and documented:",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-042",
          "area": "REQ-PRI",
          "number": "042",
          "description": "Support a maximum discount cap per order, per line, and per campaign (absolute or percentage) to prevent runaway stacking.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-043",
          "area": "REQ-PRI",
          "number": "043",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-050",
          "area": "REQ-PRI",
          "number": "050",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/cart/actions.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/cart/couponCookie.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/CartCouponSection.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-PRI-051",
          "area": "REQ-PRI",
          "number": "051",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-052",
          "area": "REQ-PRI",
          "number": "052",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-053",
          "area": "REQ-PRI",
          "number": "053",
          "description": "Use constant-time string comparison for code matching to eliminate timing oracles.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-054",
          "area": "REQ-PRI",
          "number": "054",
          "description": "Apply rate limits and progressive friction to code entry:",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-055",
          "area": "REQ-PRI",
          "number": "055",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-056",
          "area": "REQ-PRI",
          "number": "056",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-057",
          "area": "REQ-PRI",
          "number": "057",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-058",
          "area": "REQ-PRI",
          "number": "058",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-060",
          "area": "REQ-PRI",
          "number": "060",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-061",
          "area": "REQ-PRI",
          "number": "061",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CouponStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/CouponStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/components/DiscountScanStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/couponFlow.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-PRI-062",
          "area": "REQ-PRI",
          "number": "062",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-063",
          "area": "REQ-PRI",
          "number": "063",
          "description": "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).",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-064",
          "area": "REQ-PRI",
          "number": "064",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-065",
          "area": "REQ-PRI",
          "number": "065",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-070",
          "area": "REQ-PRI",
          "number": "070",
          "description": "Every coupon has a lifecycle state: draft ??? scheduled ??? active ??? (paused ??? active) ??? exhausted | expired | revoked ??? archived. State transitions are recorded with actor, timestamp, and reason.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-071",
          "area": "REQ-PRI",
          "number": "071",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-072",
          "area": "REQ-PRI",
          "number": "072",
          "description": "Manual admin actions ??? pause, resume, revoke (terminal), clone (new draft pre-filled), extend (moves endAt), adjust cap (only upward without a re-approval workflow).",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-073",
          "area": "REQ-PRI",
          "number": "073",
          "description": "Approvals ??? configurable approval workflow for high-impact campaigns (discount > N%, cap > M redemptions, site-wide scope); required approvers, dual-control for irreversible revokes.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-074",
          "area": "REQ-PRI",
          "number": "074",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-080",
          "area": "REQ-PRI",
          "number": "080",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-081",
          "area": "REQ-PRI",
          "number": "081",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-082",
          "area": "REQ-PRI",
          "number": "082",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-083",
          "area": "REQ-PRI",
          "number": "083",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-090",
          "area": "REQ-PRI",
          "number": "090",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-091",
          "area": "REQ-PRI",
          "number": "091",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-092",
          "area": "REQ-PRI",
          "number": "092",
          "description": "Influencer reports consume the same redemption ledger and are specified in REQ-RPT-004.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-100",
          "area": "REQ-PRI",
          "number": "100",
          "description": "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-…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-101",
          "area": "REQ-PRI",
          "number": "101",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PRI-102",
          "area": "REQ-PRI",
          "number": "102",
          "description": "Event-ticket promo codes are governed by �12.2 (REQ-EVT-013) and use the same engine described here.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-POS",
      "label": "Point of Sale",
      "total": 245,
      "shipped": 142,
      "inProgress": 6,
      "notStarted": 97,
      "requirements": [
        {
          "id": "REQ-POS-001",
          "area": "REQ-POS",
          "number": "001",
          "description": "Workflow: scan fabric ??? enter yardage ??? add to cart ??? checkout.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/runtime/registerWorkbench.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/criticalPath.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/types.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/scan/parser.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/screens/cart.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/screens/scan.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-002",
          "area": "REQ-POS",
          "number": "002",
          "description": "Must support fractional yardage entry (�6.1) with both decimal and fractional keypads (e.g., 2 ???).",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/YardageKeypad.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/criticalPath.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/types.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/screens/yardage.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-003",
          "area": "REQ-POS",
          "number": "003",
          "description": "Must support fast text and visual search across SKUs, collections, and designers, with keyboard and barcode input.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/index.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/components/SkuSearchResults.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/SkuSearchResults.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/scan/parser.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-004",
          "area": "REQ-POS",
          "number": "004",
          "description": "Must support mid-transaction cart edits, held carts, and parked orders.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/HeldCartList.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/HeldCartList.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/heldCarts.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/heldCarts.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/index.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/runtime/registerWorkbench.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-005",
          "area": "REQ-POS",
          "number": "005",
          "description": "Must support split tender (card + cash + store credit + gift card) and partial refunds.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/giftCardIssuanceJob.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/components/GiftCardTenderStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/components/RefundLineSelector.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/RefundLineSelector.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/components/StoreCreditStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/StoreCreditStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/components/TenderMethodOptions.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/TenderMethodOptions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/giftCardTender.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/storeCreditBalance.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/screens/tender.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 11,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-006",
          "area": "REQ-POS",
          "number": "006",
          "description": "Receipts must be available as printed (ESC/POS) and digital (email/SMS).",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/ReceiptDeliveryOptions.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/ReceiptDeliveryOptions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/index.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-007",
          "area": "REQ-POS",
          "number": "007",
          "description": "End-of-day reconciliation must produce a cash-drawer report and a shift summary.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/shiftSummaryJob.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/receipt/shiftSummaryLines.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/receipt/shiftSummaryLines.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-020",
          "area": "REQ-POS",
          "number": "020",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/api/pos/runtime/route.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/api-contracts/src/posSaleSync.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/index.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/runtime/apiClient.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/runtime/config.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-021",
          "area": "REQ-POS",
          "number": "021",
          "description": "The app must achieve sub-second response for the critical path: scan ??? add line ??? total ??? tender ??? receipt.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-022",
          "area": "REQ-POS",
          "number": "022",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/heldCarts.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/runtime/registerWorkbench.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-023",
          "area": "REQ-POS",
          "number": "023",
          "description": "The app must sync background transactions to the server as connectivity permits, with conflict resolution per �17.",
          "status": "in-progress",
          "citations": [
            {
              "path": "apps/pos/src/runtime/registerWorkbench.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-024",
          "area": "REQ-POS",
          "number": "024",
          "description": "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).",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/events/src/domain/pos.ts",
              "count": 4,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/components/NoSaleDrawerStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/NoSaleDrawerStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hw/barcodeScanner.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hw/receiptPrinter.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hw/types.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/index.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/runtime/registerWorkbench.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/scan/parser.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 12,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-025",
          "area": "REQ-POS",
          "number": "025",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/hw/types.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/pos.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-026",
          "area": "REQ-POS",
          "number": "026",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-572",
          "area": "REQ-POS",
          "number": "572",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/LabelPrinterStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/LabelPrinterStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-700",
          "area": "REQ-POS",
          "number": "700",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/registerSession.test.ts",
              "count": 4,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/registerSession.ts",
              "count": 4,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/components/RegisterSessionStatus.test.ts",
              "count": 3,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/RegisterSessionStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/index.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 13,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-701",
          "area": "REQ-POS",
          "number": "701",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/registerSession.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/registerSession.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-702",
          "area": "REQ-POS",
          "number": "702",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/registerSession.ts",
              "count": 6,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/registerSession.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-703",
          "area": "REQ-POS",
          "number": "703",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/registerSession.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/registerSession.test.ts",
              "count": 2,
              "kind": "test"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-704",
          "area": "REQ-POS",
          "number": "704",
          "description": "Queued POS sale mutations must be JSON-serializable without bigint loss by storing minor-unit money and yardage sixteenths as base-10 strings.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/registerSession.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/registerSession.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-705",
          "area": "REQ-POS",
          "number": "705",
          "description": "Each queued sale mutation must carry an idempotency key scoped by tenant, device, sale id, and occurrence timestamp so reconnect sync can safely retry.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/registerSession.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/registerSession.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/saleSync.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-706",
          "area": "REQ-POS",
          "number": "706",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/registerSession.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/registerSession.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-707",
          "area": "REQ-POS",
          "number": "707",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/registerSession.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/registerSession.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-708",
          "area": "REQ-POS",
          "number": "708",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/registerSession.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/registerSession.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-709",
          "area": "REQ-POS",
          "number": "709",
          "description": "Hardware failures during receipt print or cash-drawer open must return a cashier-safe warning while preserving the queued sale mutation for sync.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/registerSession.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/registerSession.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-710",
          "area": "REQ-POS",
          "number": "710",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/registerSession.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/registerSession.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-711",
          "area": "REQ-POS",
          "number": "711",
          "description": "The register readiness model must include sync queue status, pending mutation count, connectivity state, and a cashier-safe sync label for offline operation.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/registerSession.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/registerSession.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-712",
          "area": "REQ-POS",
          "number": "712",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/registerSession.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/registerSession.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-713",
          "area": "REQ-POS",
          "number": "713",
          "description": "The register path must expose a compact dashboard-tile model showing register phase, pending offline sales, and blocking status for REQ-ANL-042.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/registerSession.ts",
              "count": 6,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/registerSession.test.ts",
              "count": 2,
              "kind": "test"
            }
          ],
          "citationCount": 8,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-714",
          "area": "REQ-POS",
          "number": "714",
          "description": "The POS package root must export the register-session contract so future Expo screens consume a stable public API instead of private flow files.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/registerSession.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/registerSession.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/RegisterSessionStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/RegisterSessionStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/index.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 8,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-715",
          "area": "REQ-POS",
          "number": "715",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/api-contracts/src/posSaleSync.test.ts",
              "count": 3,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/runtime/apiClient.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/api/pos/runtime/route.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/saleSync.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/types.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/runtime/auth.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/runtime/config.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/api/pos/devices/register/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/api/pos/sales/sync/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/core/src/cart/cart.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/posSales.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/posSales.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 16,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-716",
          "area": "REQ-POS",
          "number": "716",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/saleSync.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/runtime/registerWorkbench.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/api/pos/sales/sync/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/api-contracts/src/posSaleSync.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/core/src/cart/cart.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/posSales.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/posSales.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-717",
          "area": "REQ-POS",
          "number": "717",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/SyncRecoveryStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/SyncRecoveryStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-718",
          "area": "REQ-POS",
          "number": "718",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/SalesJournalStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/SalesJournalStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-719",
          "area": "REQ-POS",
          "number": "719",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/InventoryExceptionStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/InventoryExceptionStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-720",
          "area": "REQ-POS",
          "number": "720",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/TenderCloseoutAuditStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/TenderCloseoutAuditStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-721",
          "area": "REQ-POS",
          "number": "721",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/StaffHandoffStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/StaffHandoffStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-722",
          "area": "REQ-POS",
          "number": "722",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/RegisterCommandCenterStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/RegisterCommandCenterStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-723",
          "area": "REQ-POS",
          "number": "723",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/OfflineSessionDurabilityStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/OfflineSessionDurabilityStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-724",
          "area": "REQ-POS",
          "number": "724",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/ReceiptIssueQueueStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/ReceiptIssueQueueStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-725",
          "area": "REQ-POS",
          "number": "725",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CustomerCheckoutReadinessStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/CustomerCheckoutReadinessStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-726",
          "area": "REQ-POS",
          "number": "726",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/ManagerExceptionBoardStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/ManagerExceptionBoardStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-727",
          "area": "REQ-POS",
          "number": "727",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/ReleaseOperationsStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/ReleaseOperationsStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-728",
          "area": "REQ-POS",
          "number": "728",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-729",
          "area": "REQ-POS",
          "number": "729",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-730",
          "area": "REQ-POS",
          "number": "730",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-731",
          "area": "REQ-POS",
          "number": "731",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-732",
          "area": "REQ-POS",
          "number": "732",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-733",
          "area": "REQ-POS",
          "number": "733",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-734",
          "area": "REQ-POS",
          "number": "734",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-735",
          "area": "REQ-POS",
          "number": "735",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-736",
          "area": "REQ-POS",
          "number": "736",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-737",
          "area": "REQ-POS",
          "number": "737",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-738",
          "area": "REQ-POS",
          "number": "738",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-739",
          "area": "REQ-POS",
          "number": "739",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-740",
          "area": "REQ-POS",
          "number": "740",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-741",
          "area": "REQ-POS",
          "number": "741",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-742",
          "area": "REQ-POS",
          "number": "742",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-743",
          "area": "REQ-POS",
          "number": "743",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-744",
          "area": "REQ-POS",
          "number": "744",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-745",
          "area": "REQ-POS",
          "number": "745",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-746",
          "area": "REQ-POS",
          "number": "746",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-747",
          "area": "REQ-POS",
          "number": "747",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-748",
          "area": "REQ-POS",
          "number": "748",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-749",
          "area": "REQ-POS",
          "number": "749",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-750",
          "area": "REQ-POS",
          "number": "750",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-751",
          "area": "REQ-POS",
          "number": "751",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-752",
          "area": "REQ-POS",
          "number": "752",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-753",
          "area": "REQ-POS",
          "number": "753",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-754",
          "area": "REQ-POS",
          "number": "754",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-755",
          "area": "REQ-POS",
          "number": "755",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-756",
          "area": "REQ-POS",
          "number": "756",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-757",
          "area": "REQ-POS",
          "number": "757",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-758",
          "area": "REQ-POS",
          "number": "758",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-759",
          "area": "REQ-POS",
          "number": "759",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-760",
          "area": "REQ-POS",
          "number": "760",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-761",
          "area": "REQ-POS",
          "number": "761",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-762",
          "area": "REQ-POS",
          "number": "762",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-763",
          "area": "REQ-POS",
          "number": "763",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-764",
          "area": "REQ-POS",
          "number": "764",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-765",
          "area": "REQ-POS",
          "number": "765",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-766",
          "area": "REQ-POS",
          "number": "766",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-767",
          "area": "REQ-POS",
          "number": "767",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-768",
          "area": "REQ-POS",
          "number": "768",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-769",
          "area": "REQ-POS",
          "number": "769",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-770",
          "area": "REQ-POS",
          "number": "770",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-771",
          "area": "REQ-POS",
          "number": "771",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-772",
          "area": "REQ-POS",
          "number": "772",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-773",
          "area": "REQ-POS",
          "number": "773",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-774",
          "area": "REQ-POS",
          "number": "774",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-775",
          "area": "REQ-POS",
          "number": "775",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-776",
          "area": "REQ-POS",
          "number": "776",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-777",
          "area": "REQ-POS",
          "number": "777",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-778",
          "area": "REQ-POS",
          "number": "778",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-779",
          "area": "REQ-POS",
          "number": "779",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-780",
          "area": "REQ-POS",
          "number": "780",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-781",
          "area": "REQ-POS",
          "number": "781",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-782",
          "area": "REQ-POS",
          "number": "782",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-783",
          "area": "REQ-POS",
          "number": "783",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-784",
          "area": "REQ-POS",
          "number": "784",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-785",
          "area": "REQ-POS",
          "number": "785",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-786",
          "area": "REQ-POS",
          "number": "786",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-787",
          "area": "REQ-POS",
          "number": "787",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-788",
          "area": "REQ-POS",
          "number": "788",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-789",
          "area": "REQ-POS",
          "number": "789",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-790",
          "area": "REQ-POS",
          "number": "790",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-791",
          "area": "REQ-POS",
          "number": "791",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-792",
          "area": "REQ-POS",
          "number": "792",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-793",
          "area": "REQ-POS",
          "number": "793",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-794",
          "area": "REQ-POS",
          "number": "794",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-795",
          "area": "REQ-POS",
          "number": "795",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-796",
          "area": "REQ-POS",
          "number": "796",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-797",
          "area": "REQ-POS",
          "number": "797",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-798",
          "area": "REQ-POS",
          "number": "798",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-799",
          "area": "REQ-POS",
          "number": "799",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-800",
          "area": "REQ-POS",
          "number": "800",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-801",
          "area": "REQ-POS",
          "number": "801",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-802",
          "area": "REQ-POS",
          "number": "802",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-803",
          "area": "REQ-POS",
          "number": "803",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-804",
          "area": "REQ-POS",
          "number": "804",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-805",
          "area": "REQ-POS",
          "number": "805",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-806",
          "area": "REQ-POS",
          "number": "806",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-807",
          "area": "REQ-POS",
          "number": "807",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-808",
          "area": "REQ-POS",
          "number": "808",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-809",
          "area": "REQ-POS",
          "number": "809",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-810",
          "area": "REQ-POS",
          "number": "810",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-811",
          "area": "REQ-POS",
          "number": "811",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-812",
          "area": "REQ-POS",
          "number": "812",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-813",
          "area": "REQ-POS",
          "number": "813",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-814",
          "area": "REQ-POS",
          "number": "814",
          "description": "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-…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-815",
          "area": "REQ-POS",
          "number": "815",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-816",
          "area": "REQ-POS",
          "number": "816",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/ReleaseOperationsStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/ReleaseOperationsStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-817",
          "area": "REQ-POS",
          "number": "817",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-818",
          "area": "REQ-POS",
          "number": "818",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-819",
          "area": "REQ-POS",
          "number": "819",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-820",
          "area": "REQ-POS",
          "number": "820",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-821",
          "area": "REQ-POS",
          "number": "821",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-822",
          "area": "REQ-POS",
          "number": "822",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-823",
          "area": "REQ-POS",
          "number": "823",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-030",
          "area": "REQ-POS",
          "number": "030",
          "description": "Devices must be enrollable to a store with per-device credentials and revocable tokens.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/runtime/apiClient.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/session/types.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/api/pos/runtime/route.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/api-contracts/src/posSaleSync.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/DeviceRegistrationStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/DeviceRegistrationStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/runtime/auth.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/session/deviceSession.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/session/deviceSession.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/api/pos/devices/register/route.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 14,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-031",
          "area": "REQ-POS",
          "number": "031",
          "description": "Sensitive actions (refunds, price overrides, drawer opens outside a sale) must require a manager PIN or biometric step-up.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/session/types.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/pos.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/runtime/registerWorkbench.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/LineVoidStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/LineVoidStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/components/ManagerPinPrompt.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/ManagerPinPrompt.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/components/NoSaleDrawerStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/NoSaleDrawerStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/components/PriceOverrideStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/PriceOverrideStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/lineVoidFlow.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/noSaleDrawerOpen.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/priceOverrideFlow.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/refundFlow.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hw/noopHardware.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/session/managerGate.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/session/managerGate.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 23,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-501",
          "area": "REQ-POS",
          "number": "501",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/criticalPath.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/index.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/screens/cart.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/screens/scan.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/screens/tender.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/screens/yardage.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-503",
          "area": "REQ-POS",
          "number": "503",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/noSaleDrawerOpen.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hw/noopHardware.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/index.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/session/deviceSession.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/session/deviceSession.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/session/managerGate.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/session/managerGate.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/session/types.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 8,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-511",
          "area": "REQ-POS",
          "number": "511",
          "description": "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),…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/heldCarts.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/heldCarts.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-512",
          "area": "REQ-POS",
          "number": "512",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/EndOfDayStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/EndOfDayStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/endOfDayReport.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/endOfDayReport.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-513",
          "area": "REQ-POS",
          "number": "513",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/refundFlow.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/refundFlow.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/transactionLookup.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-514",
          "area": "REQ-POS",
          "number": "514",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CustomerLookupResults.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/CustomerLookupResults.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/customerLookup.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/customerLookup.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-515",
          "area": "REQ-POS",
          "number": "515",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/OfflineQueueStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/OfflineQueueStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/offlineQueue.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/offlineQueue.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/offlineQueueFlush.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-516",
          "area": "REQ-POS",
          "number": "516",
          "description": "Split-tender keypad render model (apps/pos/src/components/SplitTenderKeypad.ts). SplitTenderKeypadModel: { remainingMinor, canFinalize, paidMinor, cartTotalMinor, currency, isComplete } (all amounts bigint). buildSplitTenderKeypad(state: T…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/SplitTenderKeypad.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/SplitTenderKeypad.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-517",
          "area": "REQ-POS",
          "number": "517",
          "description": "Receipt delivery module (apps/pos/src/flow/receiptDelivery.ts). ReceiptDeliveryMethod = \"email\" | \"sms\". ReceiptDeliveryOptions: method, address, transactionAt, totalMinor: bigint, currency, tenantId, storeName. ReceiptDeliveryJobPayload:…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/receiptDelivery.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/receiptDelivery.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/pos.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/registry.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-518",
          "area": "REQ-POS",
          "number": "518",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/cart/cartTotals.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/components/DiscountScanStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/discountScanHandler.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/discountScanHandler.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-523",
          "area": "REQ-POS",
          "number": "523",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/StoreCreditStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/StoreCreditStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/storeCreditBalance.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/storeCreditBalance.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-522",
          "area": "REQ-POS",
          "number": "522",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/DeviceRegistrationStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/DeviceRegistrationStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/posDeviceRegistration.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/posDeviceRegistration.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-521",
          "area": "REQ-POS",
          "number": "521",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CycleCountStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/CycleCountStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/cycleCountSession.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/cycleCountSession.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-520",
          "area": "REQ-POS",
          "number": "520",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/TransactionLookupResult.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/TransactionLookupResult.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/transactionLookup.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/transactionLookup.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-519",
          "area": "REQ-POS",
          "number": "519",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/cart/cartTotals.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/components/PriceOverrideStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/PriceOverrideStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/priceOverrideFlow.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/priceOverrideFlow.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/runtime/registerWorkbench.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-510",
          "area": "REQ-POS",
          "number": "510",
          "description": "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: \"…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/criticalPath.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/scanDispatch.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/scanDispatch.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/index.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/index.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-509",
          "area": "REQ-POS",
          "number": "509",
          "description": "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\"…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/storeCreditBalance.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/tender.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/tender.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-508",
          "area": "REQ-POS",
          "number": "508",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/hw/receiptPrinterExt.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/receipt/receiptBuilder.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/receipt/receiptBuilder.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-507",
          "area": "REQ-POS",
          "number": "507",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/YardageKeypad.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/YardageKeypad.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/pos.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-506",
          "area": "REQ-POS",
          "number": "506",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/events/src/domain/pos.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/components/CartLineList.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/CartLineList.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/customLine.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-505",
          "area": "REQ-POS",
          "number": "505",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/hw/nfcWriter.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/scanDispatch.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/index.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/scan/parser.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/scan/parser.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/pos.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-504",
          "area": "REQ-POS",
          "number": "504",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/heldCarts.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/snapshot.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/snapshot.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-544",
          "area": "REQ-POS",
          "number": "544",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/LineItemDisplayStatus.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/cart/buildLineItem.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/cart/buildLineItem.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/components/LineItemDisplayStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-545",
          "area": "REQ-POS",
          "number": "545",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/receipt/buildReceiptLines.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/cart/cartTotals.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/cart/cartTotals.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/components/CartTotalsStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/CartTotalsStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-547",
          "area": "REQ-POS",
          "number": "547",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/YardageRoundingStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/YardageRoundingStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/cut/roundToSixteenth.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/cut/roundToSixteenth.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-548",
          "area": "REQ-POS",
          "number": "548",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/nfc/buildBoltTagPayload.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/nfc/buildBoltTagPayload.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/scan/parseBoltTag.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/scan/parseBoltTag.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-549",
          "area": "REQ-POS",
          "number": "549",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/tender/tenderKindLabel.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/tender/tenderKindLabel.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-502",
          "area": "REQ-POS",
          "number": "502",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/index.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/pos.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/events/src/registry.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "packages/events/src/registry.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/events/localBus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/criticalPath.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/tender.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/screens/screens.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/screens/tender.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 14,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-POS-524",
          "area": "REQ-POS",
          "number": "524",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/LoyaltyEarnProjectionStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/LoyaltyEarnProjectionStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/loyaltyEarnProjection.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/loyaltyEarnProjection.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-525",
          "area": "REQ-POS",
          "number": "525",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/GiftCardTenderStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/giftCardTender.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/giftCardTender.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-526",
          "area": "REQ-POS",
          "number": "526",
          "description": "Coupon application flow (apps/pos/src/flow/couponFlow.ts). Injected CouponClient.validateCoupon. State machine idle|entering|validating|applied|rejected|error. 13 unit tests.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CouponStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/CouponStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/couponFlow.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/couponFlow.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-527",
          "area": "REQ-POS",
          "number": "527",
          "description": "No-sale drawer-open flow (apps/pos/src/flow/noSaleDrawerOpen.ts). buildNoSaleOpenCommand(opts) validates non-empty authorizedByUserId. 8 unit tests.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/noSaleDrawerOpen.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/noSaleDrawerOpen.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-528",
          "area": "REQ-POS",
          "number": "528",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CustomLineStatus.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/index.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/components/CustomLineStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/customLine.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/customLine.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/index.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 8,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-529",
          "area": "REQ-POS",
          "number": "529",
          "description": "Cash-denomination change suggestion (apps/pos/src/flow/changeSuggestion.ts). computeChangeDenominations greedy bigint algorithm. US_DENOMINATIONS (8 denominations). 9 unit tests.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/ChangeSuggestionStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/ChangeSuggestionStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/changeSuggestion.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/changeSuggestion.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-530",
          "area": "REQ-POS",
          "number": "530",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/LineVoidStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/LineVoidStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/lineVoidFlow.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/lineVoidFlow.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/runtime/registerWorkbench.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-531",
          "area": "REQ-POS",
          "number": "531",
          "description": "POS connectivity-status monitor (apps/pos/src/flow/connectivityMonitor.ts). Injected Fetcher. States: online/offline/degraded. onStateChange unsubscribe. 10 unit tests.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/ConnectivityStatus.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/ConnectivityStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/connectivityMonitor.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/connectivityMonitor.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/offlineQueueFlush.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/runtime/registerWorkbench.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-532",
          "area": "REQ-POS",
          "number": "532",
          "description": "Offline-queue flush state machine (apps/pos/src/flow/offlineQueueFlush.ts). idle|flushing|complete|error. Pure transitions. 10 unit tests.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/OfflineFlushStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/OfflineFlushStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/offlineQueueFlush.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/offlineQueueFlush.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-533",
          "area": "REQ-POS",
          "number": "533",
          "description": "Session idle-lock module (apps/pos/src/session/idleLock.ts). Injected clock+timer factory. recordActivity/lock/onLock/destroy. 9 unit tests.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/IdleLockStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/IdleLockStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/session/idleLock.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/session/idleLock.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-534",
          "area": "REQ-POS",
          "number": "534",
          "description": "Staff clock-in/clock-out stub (apps/pos/src/flow/staffTimeclock.ts). clocked-out|clocked-in|error. getElapsedMs bigint ms. 10 unit tests.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/StaffTimeclockStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/staffTimeclock.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/staffTimeclock.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/runtime/registerWorkbench.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-535",
          "area": "REQ-POS",
          "number": "535",
          "description": "POS OTel span emitter (apps/pos/src/telemetry/posTelemetry.ts). Injected SpanEmitter. pos.scan/pos.add_line/pos.tender/pos.receipt. 11 unit tests.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/telemetry/posTelemetry.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/telemetry/posTelemetry.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-536",
          "area": "REQ-POS",
          "number": "536",
          "description": "SKU low-stock badge (apps/pos/src/components/LowStockBadge.ts). computeStockBadge right-arrow ok|low|out. remainingYards via formatYardageMixed. 8 unit tests.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/LowStockBadge.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/LowStockBadge.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-537",
          "area": "REQ-POS",
          "number": "537",
          "description": "Hardware error remediation registry (apps/pos/src/hw/errorRemediation.ts). HardwareErrorCode closed union (8 codes). getRemediation(code). 6 tests covering all codes.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/criticalPath.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/hw/errorRemediation.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/hw/errorRemediation.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-538",
          "area": "REQ-POS",
          "number": "538",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/TipPromptStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/TipPromptStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/tipPrompt.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/tipPrompt.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-539",
          "area": "REQ-POS",
          "number": "539",
          "description": "Float denomination entry (apps/pos/src/flow/floatEntry.ts). floatEntryInit/setDenominationCount/clearFloat pure reducers. bigint totalMinor. 10 unit tests.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/FloatEntryStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/FloatEntryStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/floatEntry.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/floatEntry.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/runtime/registerWorkbench.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-540",
          "area": "REQ-POS",
          "number": "540",
          "description": "POS search-result ranker (apps/pos/src/flow/skuRanker.ts). scoreSkuResult 100/80/60/40/20/0. rankSkuResults stable descending sort. 13 unit tests.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/skuRanker.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/LoyaltyPointsDisplay.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/skuRanker.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-541",
          "area": "REQ-POS",
          "number": "541",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/NoSaleFlowStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/NoSaleFlowStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/noSaleFlow.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-542",
          "area": "REQ-POS",
          "number": "542",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/cart/cartTotals.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/components/CouponApplicationStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/CouponApplicationStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/couponApplication.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-543",
          "area": "REQ-POS",
          "number": "543",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/EntitlementSelectorStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/EntitlementSelectorStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/entitlementSelector.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-550",
          "area": "REQ-POS",
          "number": "550",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/ReceiptLinesStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/ReceiptLinesStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/receipt/buildReceiptLines.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/receipt/buildReceiptLines.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-551",
          "area": "REQ-POS",
          "number": "551",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/session/idleTimeout.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/components/IdleTimeoutStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/IdleTimeoutStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/session/idleTimeout.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-552",
          "area": "REQ-POS",
          "number": "552",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/PersistedHeldCartStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/PersistedHeldCartStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/index.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-553",
          "area": "REQ-POS",
          "number": "553",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/ReceiptReprintStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/ReceiptReprintStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/receiptReprint.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/index.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/index.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-556",
          "area": "REQ-POS",
          "number": "556",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/ScanDispatchStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/ScanDispatchStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-565",
          "area": "REQ-POS",
          "number": "565",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/ReceiptDeliveryStatus.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/ReceiptDeliveryStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-569",
          "area": "REQ-POS",
          "number": "569",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/ManagerGateStatus.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/ManagerGateStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-555",
          "area": "REQ-POS",
          "number": "555",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/GiftCardBalanceStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-554",
          "area": "REQ-POS",
          "number": "554",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/NfcWriteStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/NfcWriteStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-557",
          "area": "REQ-POS",
          "number": "557",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/ShiftSummaryLinesStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/ShiftSummaryLinesStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-558",
          "area": "REQ-POS",
          "number": "558",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CriticalPathStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/CriticalPathStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-559",
          "area": "REQ-POS",
          "number": "559",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CartSnapshotStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/CartSnapshotStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-560",
          "area": "REQ-POS",
          "number": "560",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/SkuRankerStatus.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/SkuRankerStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-561",
          "area": "REQ-POS",
          "number": "561",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CustomerDisplayStatus.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/CustomerDisplayStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-562",
          "area": "REQ-POS",
          "number": "562",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/PhysicalScaleStatus.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/PhysicalScaleStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-563",
          "area": "REQ-POS",
          "number": "563",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/HardwareRunbookStatus.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/HardwareRunbookStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-564",
          "area": "REQ-POS",
          "number": "564",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/ScannerTimeoutStatus.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/ScannerTimeoutStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-566",
          "area": "REQ-POS",
          "number": "566",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/RefundFlowStatus.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/RefundFlowStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-567",
          "area": "REQ-POS",
          "number": "567",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/TenderFlowStatus.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/TenderFlowStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-568",
          "area": "REQ-POS",
          "number": "568",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/DeviceSessionStatus.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/DeviceSessionStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-570",
          "area": "REQ-POS",
          "number": "570",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/LocalEventBusStatus.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/LocalEventBusStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-571",
          "area": "REQ-POS",
          "number": "571",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/ConnectivityMonitorStatus.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/ConnectivityMonitorStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-573",
          "area": "REQ-POS",
          "number": "573",
          "description": "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,…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/ReceiptPrintJobStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/ReceiptPrintJobStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-574",
          "area": "REQ-POS",
          "number": "574",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/ReceiptQrCodeStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/ReceiptQrCodeStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-575",
          "area": "REQ-POS",
          "number": "575",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/ReceiptTextPrintStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/ReceiptTextPrintStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-576",
          "area": "REQ-POS",
          "number": "576",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CashDrawerOpenReasonStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-577",
          "area": "REQ-POS",
          "number": "577",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/ScannerCancellationStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-578",
          "area": "REQ-POS",
          "number": "578",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CashDrawerLastOpenedStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-579",
          "area": "REQ-POS",
          "number": "579",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CashDrawerOpenResultStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-580",
          "area": "REQ-POS",
          "number": "580",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CashDrawerShiftCloseStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-581",
          "area": "REQ-POS",
          "number": "581",
          "description": "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,…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CashDrawerVarianceReviewStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-582",
          "area": "REQ-POS",
          "number": "582",
          "description": "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,…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CashDrawerSafeDropStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-583",
          "area": "REQ-POS",
          "number": "583",
          "description": "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,…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CashDrawerSafeDropReceiptStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-584",
          "area": "REQ-POS",
          "number": "584",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CashDrawerSafeDropCustodyStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-585",
          "area": "REQ-POS",
          "number": "585",
          "description": "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,…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CashDrawerSafeDropAuditStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-586",
          "area": "REQ-POS",
          "number": "586",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CashDrawerSafeDropDepositBatchStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-587",
          "area": "REQ-POS",
          "number": "587",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CashDrawerSafeDropBankDepositStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-588",
          "area": "REQ-POS",
          "number": "588",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CashDrawerSafeDropExceptionResolutionStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-589",
          "area": "REQ-POS",
          "number": "589",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CashDrawerSafeDropReconciliationStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-590",
          "area": "REQ-POS",
          "number": "590",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CashDrawerSafeDropComplianceReportStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-591",
          "area": "REQ-POS",
          "number": "591",
          "description": "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…",
          "status": "in-progress",
          "citations": [
            {
              "path": "apps/pos/src/flow/receiptReprintAudit.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-592",
          "area": "REQ-POS",
          "number": "592",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/ReceiptReprintAuditStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/ReceiptReprintAuditStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-593",
          "area": "REQ-POS",
          "number": "593",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/ReceiptReprintAuditQueueStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/ReceiptReprintAuditQueueStatus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-594",
          "area": "REQ-POS",
          "number": "594",
          "description": "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…",
          "status": "in-progress",
          "citations": [
            {
              "path": "apps/pos/src/index.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-595",
          "area": "REQ-POS",
          "number": "595",
          "description": "(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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/receiptReprintAuditQueue.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/index.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/index.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-596",
          "area": "REQ-POS",
          "number": "596",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CartEditStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/index.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/index.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-597",
          "area": "REQ-POS",
          "number": "597",
          "description": "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…",
          "status": "in-progress",
          "citations": [
            {
              "path": "apps/pos/src/index.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-598",
          "area": "REQ-POS",
          "number": "598",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CartEditStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/CartEditStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/index.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-599",
          "area": "REQ-POS",
          "number": "599",
          "description": "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…",
          "status": "in-progress",
          "citations": [
            {
              "path": "apps/pos/src/components/ReceiptReprintAuditQueueStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/index.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 2,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-600",
          "area": "REQ-POS",
          "number": "600",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CheckoutReadinessStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/CheckoutReadinessStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/index.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/index.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-601",
          "area": "REQ-POS",
          "number": "601",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/index.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/index.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-602",
          "area": "REQ-POS",
          "number": "602",
          "description": "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…",
          "status": "in-progress",
          "citations": [
            {
              "path": "apps/pos/src/index.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-POS-603",
          "area": "REQ-POS",
          "number": "603",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/index.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/index.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-604",
          "area": "REQ-POS",
          "number": "604",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/index.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/index.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-605",
          "area": "REQ-POS",
          "number": "605",
          "description": "(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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/CartConflictStatus.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/CartConflictStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/index.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/index.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-POS-606",
          "area": "REQ-POS",
          "number": "606",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/index.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/index.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        }
      ]
    },
    {
      "area": "REQ-ECO",
      "label": "E-commerce Storefront",
      "total": 54,
      "shipped": 37,
      "inProgress": 0,
      "notStarted": 17,
      "requirements": [
        {
          "id": "REQ-ECO-001",
          "area": "REQ-ECO",
          "number": "001",
          "description": "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, /…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/testing/src/catalog.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/auth.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/clerkTenantLookup.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0010_sku_catalog.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/skus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/skus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0006_storefront_catalog.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 9,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 6
        },
        {
          "id": "REQ-ECO-002",
          "area": "REQ-ECO",
          "number": "002",
          "description": "Storefronts must share the same inventory, pricing, and promotion engines as the POS (�3.1, �7).",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ECO-003",
          "area": "REQ-ECO",
          "number": "003",
          "description": "Support yardage-based purchasing with minimum cut (default � yard) and increment (default � yard) configurable per product.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/components/AddToCartForm.tsx",
              "count": 4,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/cart/actions.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/globals.css",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/cart/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/CartYardageEditor.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/productStructuredData.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/yardageStorefrontCopy.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/core/src/cart/cart.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/core/src/cart/index.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/core/src/quilt/patterns.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 16,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-ECO-004",
          "area": "REQ-ECO",
          "number": "004",
          "description": "Product detail pages must show real-time availability, remnant availability, related kits/patterns, and substitutions when out of stock.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/shop/[slug]/page.tsx",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/storefront.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/skus.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/catalog.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/ProductGallery.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/ProductShareButton.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0010_sku_catalog.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/schema/skus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0006_storefront_catalog.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0011_storefront_images.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 16,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-ECO-005",
          "area": "REQ-ECO",
          "number": "005",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/cart/actions.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/cart/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/AddToCartForm.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/CartYardageEditor.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/lineTotal.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/core/src/cart/index.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0012_events.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/events/src/domain/loyalty.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 10,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-006",
          "area": "REQ-ECO",
          "number": "006",
          "description": "Order workflow: Received ??? Cut ??? Pack ??? Ship ??? Delivered, with partial fulfillment permitted.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/cart/confirmation/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-007",
          "area": "REQ-ECO",
          "number": "007",
          "description": "Storefront pages must be server-rendered or statically pre-rendered for SEO, with structured data (Product, Offer, Breadcrumb, Event) and auto-generated sitemaps.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/shop/[slug]/page.tsx",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/dropStructuredData.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/[slug]/opengraph-image.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/eventStructuredData.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/ogBoltCard.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/productStructuredData.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/schemaMoney.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/socialMetadata.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 11,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-008",
          "area": "REQ-ECO",
          "number": "008",
          "description": "Optional one-way integrations with external storefronts (Shopify, WooCommerce) must be available as add-ons; BoltToCart remains the inventory source of truth.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ECO-500",
          "area": "REQ-ECO",
          "number": "500",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/productStructuredData.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/web/src/lib/productStructuredData.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-501",
          "area": "REQ-ECO",
          "number": "501",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/shop/page.tsx",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-ECO-502",
          "area": "REQ-ECO",
          "number": "502",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/shop/[slug]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/RelatedItemsStrip.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/productStructuredData.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/storefront.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-503",
          "area": "REQ-ECO",
          "number": "503",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/components/ShopEmptyState.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-504",
          "area": "REQ-ECO",
          "number": "504",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/productStructuredData.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/productStructuredData.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-505",
          "area": "REQ-ECO",
          "number": "505",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/productStructuredData.test.ts",
              "count": 4,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/[slug]/opengraph-image.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/productStructuredData.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/wizard/projects/[id]/opengraph-image.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 9,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-506",
          "area": "REQ-ECO",
          "number": "506",
          "description": "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)…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/shop/[slug]/page.tsx",
              "count": 3,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-507",
          "area": "REQ-ECO",
          "number": "507",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/shop/collections/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-509",
          "area": "REQ-ECO",
          "number": "509",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/shop/colors/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-510",
          "area": "REQ-ECO",
          "number": "510",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/sitemap.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-511",
          "area": "REQ-ECO",
          "number": "511",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/shop/collections/opengraph-image.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/colors/opengraph-image.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/designers/opengraph-image.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/fibers/opengraph-image.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/widths/opengraph-image.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/visualizer/opengraph-image.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/visualizer/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-512",
          "area": "REQ-ECO",
          "number": "512",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/visualizer/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-518",
          "area": "REQ-ECO",
          "number": "518",
          "description": "The /shop PLP header gains a \"New arrivals\" link pointing to /shop?new=1 alongside the RSS autodiscovery link (REQ-ECO-518).",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/shop/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-ECO-545",
          "area": "REQ-ECO",
          "number": "545",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/storefrontThemeConfig.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/db/src/migrations/0037_storefront_theme_config.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/schema/stores.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0014_storefront_theme.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-ECO-521",
          "area": "REQ-ECO",
          "number": "521",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/shop/[slug]/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-523",
          "area": "REQ-ECO",
          "number": "523",
          "description": "Cart summary Shipping row gains a truck icon for visual distinction from the yardage/items rows (REQ-ECO-523).",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/cart/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-524",
          "area": "REQ-ECO",
          "number": "524",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/cart/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/globals.css",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-525",
          "area": "REQ-ECO",
          "number": "525",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/shop/[slug]/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-526",
          "area": "REQ-ECO",
          "number": "526",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/productStructuredData.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-529",
          "area": "REQ-ECO",
          "number": "529",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/shop/[slug]/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-534",
          "area": "REQ-ECO",
          "number": "534",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ECO-535",
          "area": "REQ-ECO",
          "number": "535",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/shop/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-ECO-536",
          "area": "REQ-ECO",
          "number": "536",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/shop/[slug]/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-537",
          "area": "REQ-ECO",
          "number": "537",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/shop/[slug]/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-533",
          "area": "REQ-ECO",
          "number": "533",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/cart/page.tsx",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-532",
          "area": "REQ-ECO",
          "number": "532",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/storefront.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/StorefrontFilters.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/skus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/search.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-531",
          "area": "REQ-ECO",
          "number": "531",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/storefront.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-530",
          "area": "REQ-ECO",
          "number": "530",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/shop/page.tsx",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-ECO-528",
          "area": "REQ-ECO",
          "number": "528",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/storefront.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/skus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/search.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-ECO-527",
          "area": "REQ-ECO",
          "number": "527",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ECO-508",
          "area": "REQ-ECO",
          "number": "508",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/cart/actions.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/cart/couponCookie.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/CartCouponSection.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-538",
          "area": "REQ-ECO",
          "number": "538",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ECO-539",
          "area": "REQ-ECO",
          "number": "539",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/cart/actions.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-540",
          "area": "REQ-ECO",
          "number": "540",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ECO-541",
          "area": "REQ-ECO",
          "number": "541",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ECO-542",
          "area": "REQ-ECO",
          "number": "542",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ECO-543",
          "area": "REQ-ECO",
          "number": "543",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ECO-544",
          "area": "REQ-ECO",
          "number": "544",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/cart/actions.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ECO-558",
          "area": "REQ-ECO",
          "number": "558",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ECO-559",
          "area": "REQ-ECO",
          "number": "559",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ECO-560",
          "area": "REQ-ECO",
          "number": "560",
          "description": "The disabled checkout state on /cart must disclose the number of blocking availability corrections, not only a generic disabled reason.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ECO-561",
          "area": "REQ-ECO",
          "number": "561",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ECO-562",
          "area": "REQ-ECO",
          "number": "562",
          "description": "The /cart/confirmation next-step panel must include an admin handoff link for demo operators without implying real payment or fulfillment occurred.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ECO-563",
          "area": "REQ-ECO",
          "number": "563",
          "description": "The /shop quick-filter strip must include a \"Clear quick filters\" escape when any quick-filter style predicate is active.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ECO-564",
          "area": "REQ-ECO",
          "number": "564",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ECO-565",
          "area": "REQ-ECO",
          "number": "565",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-FUL",
      "label": "Fulfillment, Shipping & Returns",
      "total": 478,
      "shipped": 8,
      "inProgress": 0,
      "notStarted": 470,
      "requirements": [
        {
          "id": "REQ-FUL-001",
          "area": "REQ-FUL",
          "number": "001",
          "description": "Provide a pick-and-pack UI that batches cuts across orders by bolt for efficiency.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-002",
          "area": "REQ-FUL",
          "number": "002",
          "description": "Integrate with shipping-rate and label providers to quote rates at checkout, purchase labels, and capture tracking numbers.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-003",
          "area": "REQ-FUL",
          "number": "003",
          "description": "Support partial shipments, backorders, and customer-approved substitutions.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-004",
          "area": "REQ-FUL",
          "number": "004",
          "description": "Support store pickup and local delivery as fulfillment methods.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-005",
          "area": "REQ-FUL",
          "number": "005",
          "description": "Returns: configurable policy per product class. Default: cut fabric is non-returnable; precuts, notions, and unopened kits are returnable within a configurable window.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-006",
          "area": "REQ-FUL",
          "number": "006",
          "description": "Refunds must support original-tender, store credit, and gift card, with tax correctly reversed.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-007",
          "area": "REQ-FUL",
          "number": "007",
          "description": "RMA workflow must generate a prepaid label when the store policy allows, and reconcile inventory on receipt.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-503",
          "area": "REQ-FUL",
          "number": "503",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/fulfillment/[orderId]/actions.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/fulfillment/[orderId]/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/fulfillment/[orderId]/SendShippingNotificationForm.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/fulfillment/actions.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-FUL-504",
          "area": "REQ-FUL",
          "number": "504",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/fulfillment/page.tsx",
              "count": 5,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/fulfillment/[orderId]/return/RmaForm.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/fulfillment/[orderId]/return/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/fulfillment/[orderId]/return/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 8,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-FUL-505",
          "area": "REQ-FUL",
          "number": "505",
          "description": "STOP — rma.reasonText column does not exist in the orders schema. Adding a reason field requires a schema migration — coordination-lane work.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0034_return_authorizations.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "apps/web/src/app/admin/fulfillment/[orderId]/ship/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/returnAuthorizations.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/returnAuthorizations.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/returnAuthorizations.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 8,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-FUL-502",
          "area": "REQ-FUL",
          "number": "502",
          "description": "/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 +…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/orders/[id]/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-FUL-501",
          "area": "REQ-FUL",
          "number": "501",
          "description": "/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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/fulfillment/[orderId]/ship/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/orders/[id]/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-FUL-500",
          "area": "REQ-FUL",
          "number": "500",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/fulfillment/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-FUL-506",
          "area": "REQ-FUL",
          "number": "506",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/fulfillment/BulkFulfillmentActions.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-FUL-507",
          "area": "REQ-FUL",
          "number": "507",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/fulfillment/fulfillment.csv/route.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-FUL-508",
          "area": "REQ-FUL",
          "number": "508",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-509",
          "area": "REQ-FUL",
          "number": "509",
          "description": "The /admin/fulfillment summary strip must include an oldest-visible-order age tile so staff can spot stale pick queues without scanning every row.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-510",
          "area": "REQ-FUL",
          "number": "510",
          "description": "The /admin/fulfillment table must include a per-row copy-order-id affordance for warehouse/support handoffs.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-511",
          "area": "REQ-FUL",
          "number": "511",
          "description": "The /admin/fulfillment/[orderId] detail page must include a copy-order-id affordance in the header/action area.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-512",
          "area": "REQ-FUL",
          "number": "512",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-513",
          "area": "REQ-FUL",
          "number": "513",
          "description": "/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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-514",
          "area": "REQ-FUL",
          "number": "514",
          "description": "/admin/fulfillment must include a visible total value tile summing the currently filtered queue's order totals in minor-unit-safe integer math.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-515",
          "area": "REQ-FUL",
          "number": "515",
          "description": "/admin/fulfillment/[orderId] must expose a print-pick-sheet action in the header action strip, hidden from print output.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-516",
          "area": "REQ-FUL",
          "number": "516",
          "description": "/admin/fulfillment/[orderId] must expose a copy-payment-reference affordance when the order carries a Stripe PaymentIntent id.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-517",
          "area": "REQ-FUL",
          "number": "517",
          "description": "/admin/fulfillment/[orderId] must render human-readable source labels while preserving the raw source value in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-518",
          "area": "REQ-FUL",
          "number": "518",
          "description": "/admin/fulfillment/fulfillment.csv must include total_minor alongside the human-readable USD amount for reconciliation-safe imports.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-519",
          "area": "REQ-FUL",
          "number": "519",
          "description": "/admin/fulfillment/fulfillment.csv must include customer_id as a separate column so staff can join exports back to customer records without parsing email.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-520",
          "area": "REQ-FUL",
          "number": "520",
          "description": "/admin/fulfillment/fulfillment.csv must include placed_at as a full ISO-8601 timestamp in addition to the date-only placed field.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-521",
          "area": "REQ-FUL",
          "number": "521",
          "description": "/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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-522",
          "area": "REQ-FUL",
          "number": "522",
          "description": "/admin/fulfillment must expose a print-current-view action for the currently visible fulfillment queue, hidden from print output.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-523",
          "area": "REQ-FUL",
          "number": "523",
          "description": "/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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-524",
          "area": "REQ-FUL",
          "number": "524",
          "description": "/admin/fulfillment empty states must name the active status/channel filters and include a clear-all link whenever filters are hiding all rows.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-525",
          "area": "REQ-FUL",
          "number": "525",
          "description": "/admin/fulfillment placed-date cells must expose the full placed timestamp in a title while keeping the compact date text visible.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-526",
          "area": "REQ-FUL",
          "number": "526",
          "description": "/admin/fulfillment/[orderId]/ship must expose a copy-order-id affordance in the header/action area for shipping desk handoffs.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-527",
          "area": "REQ-FUL",
          "number": "527",
          "description": "/admin/fulfillment/[orderId]/ship must expose a print-shipping-worksheet action, hidden from print output.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-528",
          "area": "REQ-FUL",
          "number": "528",
          "description": "/admin/fulfillment/[orderId]/ship must expose a copy-payment-reference affordance when the order carries a Stripe PaymentIntent id.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-529",
          "area": "REQ-FUL",
          "number": "529",
          "description": "/admin/fulfillment/[orderId]/ship must render a human-readable source label while preserving the raw source value in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-530",
          "area": "REQ-FUL",
          "number": "530",
          "description": "/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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-531",
          "area": "REQ-FUL",
          "number": "531",
          "description": "/admin/fulfillment/[orderId]/return must expose a copy-order-id affordance in the header/action area for RMA handoffs.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-532",
          "area": "REQ-FUL",
          "number": "532",
          "description": "/admin/fulfillment/[orderId]/return must expose a print-RMA-worksheet action, hidden from print output.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-533",
          "area": "REQ-FUL",
          "number": "533",
          "description": "/admin/fulfillment/[orderId]/return must expose a copy-payment-reference affordance when the order carries a Stripe PaymentIntent id.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-534",
          "area": "REQ-FUL",
          "number": "534",
          "description": "/admin/fulfillment/[orderId]/return must render a human-readable source label while preserving the raw source value in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-535",
          "area": "REQ-FUL",
          "number": "535",
          "description": "/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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-536",
          "area": "REQ-FUL",
          "number": "536",
          "description": "/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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-537",
          "area": "REQ-FUL",
          "number": "537",
          "description": "/admin/fulfillment truncated order identifiers must preserve the full order id in a title attribute for visual verification during support calls.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-538",
          "area": "REQ-FUL",
          "number": "538",
          "description": "/admin/fulfillment placed-date cells must include a compact relative age beside the date so stale rows are visible without scanning the summary strip.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-539",
          "area": "REQ-FUL",
          "number": "539",
          "description": "/admin/fulfillment summary strip must include a pending-order count for the currently filtered queue.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-540",
          "area": "REQ-FUL",
          "number": "540",
          "description": "/admin/fulfillment summary strip must include a processing-order count for the currently filtered queue.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-541",
          "area": "REQ-FUL",
          "number": "541",
          "description": "/admin/fulfillment summary strip must include a ready-for-pickup count for the currently filtered queue.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-542",
          "area": "REQ-FUL",
          "number": "542",
          "description": "/admin/fulfillment/[orderId] placed-date summary must preserve the full placed timestamp in a title attribute while keeping the compact date visible.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-543",
          "area": "REQ-FUL",
          "number": "543",
          "description": "/admin/fulfillment/[orderId] must expose a copy-fulfillment-handoff-summary action containing order id, status, source, total, and placed timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-544",
          "area": "REQ-FUL",
          "number": "544",
          "description": "/admin/fulfillment/[orderId] status badges must preserve the raw persisted status in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-545",
          "area": "REQ-FUL",
          "number": "545",
          "description": "/admin/fulfillment/[orderId] action navigation must expose a Return/RMA link for fulfilled orders, using the existing RMA flow.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-546",
          "area": "REQ-FUL",
          "number": "546",
          "description": "/admin/fulfillment/[orderId]/ship must expose a copy-shipping-handoff-summary action containing order id, status, source, total, and placed timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-547",
          "area": "REQ-FUL",
          "number": "547",
          "description": "/admin/fulfillment/[orderId]/ship must render a status badge in the header with the raw persisted status preserved in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-548",
          "area": "REQ-FUL",
          "number": "548",
          "description": "/admin/fulfillment/[orderId]/ship navigation must include a link back to the fulfillment pick sheet for the same order.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-549",
          "area": "REQ-FUL",
          "number": "549",
          "description": "/admin/fulfillment/[orderId]/return must expose a copy-RMA-handoff-summary action containing order id, status, source, total, and eligibility.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-550",
          "area": "REQ-FUL",
          "number": "550",
          "description": "/admin/fulfillment/[orderId]/return navigation must include a link back to the fulfillment pick sheet for the same order.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-551",
          "area": "REQ-FUL",
          "number": "551",
          "description": "/admin/fulfillment/[orderId] page headings that render truncated order ids must preserve the full order id in a title attribute for support verification.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-552",
          "area": "REQ-FUL",
          "number": "552",
          "description": "/admin/fulfillment/[orderId] breadcrumb current-page crumbs that render truncated order ids must preserve the full order id in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-553",
          "area": "REQ-FUL",
          "number": "553",
          "description": "/admin/fulfillment/[orderId] must show the associated customer_id with a copy affordance when present, and an honest guest-order fallback when absent.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-554",
          "area": "REQ-FUL",
          "number": "554",
          "description": "/admin/fulfillment/[orderId] must show total_minor beside the formatted currency total for reconciliation-safe support handoffs.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-555",
          "area": "REQ-FUL",
          "number": "555",
          "description": "/admin/fulfillment/[orderId] must show a relative placed-age tile derived from created_at so stale pick sheets are obvious at detail depth.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-556",
          "area": "REQ-FUL",
          "number": "556",
          "description": "/admin/fulfillment/[orderId]/ship headings that render truncated order ids must preserve the full order id in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-557",
          "area": "REQ-FUL",
          "number": "557",
          "description": "/admin/fulfillment/[orderId]/ship must show the associated customer_id with a copy affordance when present, and an honest guest-order fallback when absent.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-558",
          "area": "REQ-FUL",
          "number": "558",
          "description": "/admin/fulfillment/[orderId]/ship must show total_minor beside the formatted currency total for reconciliation-safe shipping handoffs.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-559",
          "area": "REQ-FUL",
          "number": "559",
          "description": "/admin/fulfillment/[orderId]/ship must show a relative placed-age tile derived from created_at.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-560",
          "area": "REQ-FUL",
          "number": "560",
          "description": "/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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-561",
          "area": "REQ-FUL",
          "number": "561",
          "description": "/admin/fulfillment/[orderId]/return headings that render truncated order ids must preserve the full order id in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-562",
          "area": "REQ-FUL",
          "number": "562",
          "description": "/admin/fulfillment/[orderId]/return must render the current status as a badge with the raw persisted status preserved in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-563",
          "area": "REQ-FUL",
          "number": "563",
          "description": "/admin/fulfillment/[orderId]/return must show the associated customer_id with a copy affordance when present, and an honest guest-order fallback when absent.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-564",
          "area": "REQ-FUL",
          "number": "564",
          "description": "/admin/fulfillment/[orderId]/return must show total_minor beside the formatted currency total for reconciliation-safe RMA handoffs.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-565",
          "area": "REQ-FUL",
          "number": "565",
          "description": "/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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-566",
          "area": "REQ-FUL",
          "number": "566",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include total_minor, source code, and customer id/guest status for audit-safe support escalation.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-567",
          "area": "REQ-FUL",
          "number": "567",
          "description": "/admin/fulfillment/[orderId] source summary tiles must show the raw persisted source code visibly beside the friendly source label.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-568",
          "area": "REQ-FUL",
          "number": "568",
          "description": "/admin/fulfillment/[orderId] placed timestamp tiles must preserve the exact ISO timestamp in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-569",
          "area": "REQ-FUL",
          "number": "569",
          "description": "/admin/fulfillment/[orderId] payment reference tiles must render an explicit \"Not recorded\" fallback instead of disappearing when no payment reference exists.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-570",
          "area": "REQ-FUL",
          "number": "570",
          "description": "/admin/fulfillment/[orderId] placed timestamp tiles must expose a copy affordance for the exact ISO timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-571",
          "area": "REQ-FUL",
          "number": "571",
          "description": "/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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-572",
          "area": "REQ-FUL",
          "number": "572",
          "description": "/admin/fulfillment/[orderId]/ship placed timestamp tiles must preserve and copy the exact ISO timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-573",
          "area": "REQ-FUL",
          "number": "573",
          "description": "/admin/fulfillment/[orderId]/ship source summary tiles must show the raw persisted source code visibly beside the friendly source label.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-574",
          "area": "REQ-FUL",
          "number": "574",
          "description": "/admin/fulfillment/[orderId]/ship payment reference tiles must preserve the raw payment reference in a title attribute when present.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-575",
          "area": "REQ-FUL",
          "number": "575",
          "description": "/admin/fulfillment/[orderId]/ship manual-label notes must include the short order id so printed worksheets remain identifiable when separated from the page header.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-576",
          "area": "REQ-FUL",
          "number": "576",
          "description": "/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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-577",
          "area": "REQ-FUL",
          "number": "577",
          "description": "/admin/fulfillment/[orderId]/return placed timestamp tiles must preserve and copy the exact ISO timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-578",
          "area": "REQ-FUL",
          "number": "578",
          "description": "/admin/fulfillment/[orderId]/return source summary tiles must show the raw persisted source code visibly beside the friendly source label.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-579",
          "area": "REQ-FUL",
          "number": "579",
          "description": "/admin/fulfillment/[orderId]/return RMA eligibility tiles must preserve the raw persisted order status in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-580",
          "area": "REQ-FUL",
          "number": "580",
          "description": "/admin/fulfillment/[orderId]/return blocked-return alerts must preserve the raw persisted order status in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-581",
          "area": "REQ-FUL",
          "number": "581",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include the admin route path for support pastebacks.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-582",
          "area": "REQ-FUL",
          "number": "582",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the full order id with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-583",
          "area": "REQ-FUL",
          "number": "583",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the raw persisted status with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-584",
          "area": "REQ-FUL",
          "number": "584",
          "description": "/admin/fulfillment/[orderId] source summary tiles must expose a copy affordance for the raw source code.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-585",
          "area": "REQ-FUL",
          "number": "585",
          "description": "/admin/fulfillment/[orderId] blocked shipping-notification notices must preserve the raw persisted status in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-586",
          "area": "REQ-FUL",
          "number": "586",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include the admin route path and shippable eligibility.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-587",
          "area": "REQ-FUL",
          "number": "587",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the full order id with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-588",
          "area": "REQ-FUL",
          "number": "588",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the raw persisted status with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-589",
          "area": "REQ-FUL",
          "number": "589",
          "description": "/admin/fulfillment/[orderId]/ship source summary tiles must expose a copy affordance for the raw source code.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-590",
          "area": "REQ-FUL",
          "number": "590",
          "description": "/admin/fulfillment/[orderId]/ship blocked-shipping alerts must preserve the raw persisted status in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-591",
          "area": "REQ-FUL",
          "number": "591",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include the admin route path and RMA route path.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-592",
          "area": "REQ-FUL",
          "number": "592",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the full order id with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-593",
          "area": "REQ-FUL",
          "number": "593",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the raw persisted status with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-594",
          "area": "REQ-FUL",
          "number": "594",
          "description": "/admin/fulfillment/[orderId]/return source summary tiles must expose a copy affordance for the raw source code.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-595",
          "area": "REQ-FUL",
          "number": "595",
          "description": "/admin/fulfillment/[orderId]/return payment reference tiles must preserve the raw payment reference in a title attribute when present.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-596",
          "area": "REQ-FUL",
          "number": "596",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include shipping-notification eligibility.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-597",
          "area": "REQ-FUL",
          "number": "597",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include the next recommended fulfillment action.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-598",
          "area": "REQ-FUL",
          "number": "598",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the admin route path with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-599",
          "area": "REQ-FUL",
          "number": "599",
          "description": "/admin/fulfillment/[orderId] summary tiles must include shipping-notification eligibility with raw status preserved in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-600",
          "area": "REQ-FUL",
          "number": "600",
          "description": "/admin/fulfillment/[orderId] order-action navigation links must preserve each destination path in a title attribute for support verification.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-601",
          "area": "REQ-FUL",
          "number": "601",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include the next recommended shipping action.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-602",
          "area": "REQ-FUL",
          "number": "602",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the ship route path with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-603",
          "area": "REQ-FUL",
          "number": "603",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include shippable eligibility with raw status preserved in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-604",
          "area": "REQ-FUL",
          "number": "604",
          "description": "/admin/fulfillment/[orderId]/ship manual-label worksheet notes must preserve the full order id in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-605",
          "area": "REQ-FUL",
          "number": "605",
          "description": "/admin/fulfillment/[orderId]/ship confirm-shipment submit buttons must preserve the ready-to-fulfilled status transition in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-606",
          "area": "REQ-FUL",
          "number": "606",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include the next recommended RMA action.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-607",
          "area": "REQ-FUL",
          "number": "607",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include the intended order status after RMA confirmation.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-608",
          "area": "REQ-FUL",
          "number": "608",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the RMA route path with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-609",
          "area": "REQ-FUL",
          "number": "609",
          "description": "/admin/fulfillment/[orderId]/return RMA eligibility tiles must expose a copy affordance for the visible eligibility value.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-610",
          "area": "REQ-FUL",
          "number": "610",
          "description": "/admin/fulfillment/[orderId]/return navigation links must preserve each destination path in a title attribute for support verification.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-611",
          "area": "REQ-FUL",
          "number": "611",
          "description": "/admin/fulfillment/[orderId] formatted total tiles must preserve raw total_minor in a title attribute for reconciliation.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-612",
          "area": "REQ-FUL",
          "number": "612",
          "description": "/admin/fulfillment/[orderId] total-minor tiles must expose a copy affordance for support reconciliation.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-613",
          "area": "REQ-FUL",
          "number": "613",
          "description": "/admin/fulfillment/[orderId] guest customer fallbacks must preserve guest_order in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-614",
          "area": "REQ-FUL",
          "number": "614",
          "description": "/admin/fulfillment/[orderId] missing payment-reference fallbacks must preserve not_recorded in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-615",
          "area": "REQ-FUL",
          "number": "615",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a reconciliation key combining order id and total_minor.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-616",
          "area": "REQ-FUL",
          "number": "616",
          "description": "/admin/fulfillment/[orderId]/ship formatted total tiles must preserve raw total_minor in a title attribute for reconciliation.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-617",
          "area": "REQ-FUL",
          "number": "617",
          "description": "/admin/fulfillment/[orderId]/ship total-minor tiles must expose a copy affordance for support reconciliation.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-618",
          "area": "REQ-FUL",
          "number": "618",
          "description": "/admin/fulfillment/[orderId]/ship guest customer fallbacks must preserve guest_order in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-619",
          "area": "REQ-FUL",
          "number": "619",
          "description": "/admin/fulfillment/[orderId]/ship missing payment-reference fallbacks must preserve not_recorded in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-620",
          "area": "REQ-FUL",
          "number": "620",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a reconciliation key combining order id and total_minor.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-621",
          "area": "REQ-FUL",
          "number": "621",
          "description": "/admin/fulfillment/[orderId]/return formatted total context must preserve raw total_minor in a title attribute for reconciliation.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-622",
          "area": "REQ-FUL",
          "number": "622",
          "description": "/admin/fulfillment/[orderId]/return total-minor tiles must expose a copy affordance for support reconciliation.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-623",
          "area": "REQ-FUL",
          "number": "623",
          "description": "/admin/fulfillment/[orderId]/return guest customer fallbacks must preserve guest_order in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-624",
          "area": "REQ-FUL",
          "number": "624",
          "description": "/admin/fulfillment/[orderId]/return missing payment-reference fallbacks must preserve not_recorded in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-625",
          "area": "REQ-FUL",
          "number": "625",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a reconciliation key combining order id and total_minor.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-626",
          "area": "REQ-FUL",
          "number": "626",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the reconciliation key with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-627",
          "area": "REQ-FUL",
          "number": "627",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the next recommended fulfillment action with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-628",
          "area": "REQ-FUL",
          "number": "628",
          "description": "/admin/fulfillment/[orderId] customer-id tiles must preserve the raw customer id in a title attribute when present.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-629",
          "area": "REQ-FUL",
          "number": "629",
          "description": "/admin/fulfillment/[orderId] payment-reference tiles must preserve the raw payment reference in a title attribute when present.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-630",
          "area": "REQ-FUL",
          "number": "630",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include full-order, shipping, and RMA route paths.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-631",
          "area": "REQ-FUL",
          "number": "631",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the reconciliation key with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-632",
          "area": "REQ-FUL",
          "number": "632",
          "description": "/admin/fulfillment/[orderId]/ship shippable eligibility tiles must expose a copy affordance for the visible eligibility value.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-633",
          "area": "REQ-FUL",
          "number": "633",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the next recommended shipping action with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-634",
          "area": "REQ-FUL",
          "number": "634",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include the target status after shipment confirmation.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-635",
          "area": "REQ-FUL",
          "number": "635",
          "description": "/admin/fulfillment/[orderId]/ship navigation links must preserve each destination path in a title attribute for support verification.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-636",
          "area": "REQ-FUL",
          "number": "636",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the reconciliation key with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-637",
          "area": "REQ-FUL",
          "number": "637",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the next recommended RMA action with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-638",
          "area": "REQ-FUL",
          "number": "638",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the RMA target status with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-639",
          "area": "REQ-FUL",
          "number": "639",
          "description": "/admin/fulfillment/[orderId]/return customer-id tiles must preserve the raw customer id in a title attribute when present.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-640",
          "area": "REQ-FUL",
          "number": "640",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include the full order detail route path.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-641",
          "area": "REQ-FUL",
          "number": "641",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include customer and payment proof tokens for guest/not-recorded cases.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-642",
          "area": "REQ-FUL",
          "number": "642",
          "description": "/admin/fulfillment/[orderId] summary tiles must include a status/source proof key with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-643",
          "area": "REQ-FUL",
          "number": "643",
          "description": "/admin/fulfillment/[orderId] shipping-notification eligibility tiles must expose a copy affordance for the visible eligibility value.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-644",
          "area": "REQ-FUL",
          "number": "644",
          "description": "/admin/fulfillment/[orderId] placed-age tiles must preserve the exact placed timestamp in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-645",
          "area": "REQ-FUL",
          "number": "645",
          "description": "/admin/fulfillment/[orderId] total-minor tile values must preserve the raw minor-unit value in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-646",
          "area": "REQ-FUL",
          "number": "646",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include full-order and pick-sheet route paths.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-647",
          "area": "REQ-FUL",
          "number": "647",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the shipment target status with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-648",
          "area": "REQ-FUL",
          "number": "648",
          "description": "/admin/fulfillment/[orderId]/ship customer-id tiles must preserve the raw customer id in a title attribute when present.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-649",
          "area": "REQ-FUL",
          "number": "649",
          "description": "/admin/fulfillment/[orderId]/ship placed-age tiles must preserve the exact placed timestamp in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-650",
          "area": "REQ-FUL",
          "number": "650",
          "description": "/admin/fulfillment/[orderId]/ship total-minor tile values must preserve the raw minor-unit value in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-651",
          "area": "REQ-FUL",
          "number": "651",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the full order detail route path with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-652",
          "area": "REQ-FUL",
          "number": "652",
          "description": "/admin/fulfillment/[orderId]/return total-minor tile values must preserve the raw minor-unit value in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-653",
          "area": "REQ-FUL",
          "number": "653",
          "description": "/admin/fulfillment/[orderId]/return placed-age tiles must preserve the exact placed timestamp in a title attribute.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-654",
          "area": "REQ-FUL",
          "number": "654",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include customer and payment proof tokens for guest/not-recorded cases.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-655",
          "area": "REQ-FUL",
          "number": "655",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include a status/source proof key with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-656",
          "area": "REQ-FUL",
          "number": "656",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a route bundle containing fulfillment, full-order, shipping, and RMA paths.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-657",
          "area": "REQ-FUL",
          "number": "657",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the route bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-658",
          "area": "REQ-FUL",
          "number": "658",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a readiness bundle combining order status, notification eligibility, and next action.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-659",
          "area": "REQ-FUL",
          "number": "659",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the readiness bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-660",
          "area": "REQ-FUL",
          "number": "660",
          "description": "/admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the full route bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-661",
          "area": "REQ-FUL",
          "number": "661",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a route bundle containing ship, full-order, and pick-sheet paths.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-662",
          "area": "REQ-FUL",
          "number": "662",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the route bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-663",
          "area": "REQ-FUL",
          "number": "663",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a readiness bundle combining status, shippable eligibility, next action, and target status.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-664",
          "area": "REQ-FUL",
          "number": "664",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the readiness bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-665",
          "area": "REQ-FUL",
          "number": "665",
          "description": "/admin/fulfillment/[orderId]/ship manual-label notes must preserve the shipment target status in machine-readable hover context.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-666",
          "area": "REQ-FUL",
          "number": "666",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a route bundle containing RMA, fulfillment, and full-order paths.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-667",
          "area": "REQ-FUL",
          "number": "667",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the route bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-668",
          "area": "REQ-FUL",
          "number": "668",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a readiness bundle combining status, RMA eligibility, next action, and target status.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-669",
          "area": "REQ-FUL",
          "number": "669",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the readiness bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-670",
          "area": "REQ-FUL",
          "number": "670",
          "description": "/admin/fulfillment/[orderId]/return blocked-return alerts must preserve the RMA target status in machine-readable hover context.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-671",
          "area": "REQ-FUL",
          "number": "671",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include the fulfillment queue path.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-672",
          "area": "REQ-FUL",
          "number": "672",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the fulfillment queue path with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-673",
          "area": "REQ-FUL",
          "number": "673",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include an operator bundle combining order id, status, source, and reconciliation key.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-674",
          "area": "REQ-FUL",
          "number": "674",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the operator bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-675",
          "area": "REQ-FUL",
          "number": "675",
          "description": "/admin/fulfillment/[orderId] checklist rows must preserve the fulfillment readiness bundle in machine-readable hover context.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-676",
          "area": "REQ-FUL",
          "number": "676",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include the fulfillment queue path.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-677",
          "area": "REQ-FUL",
          "number": "677",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the fulfillment queue path with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-678",
          "area": "REQ-FUL",
          "number": "678",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include an operator bundle combining order id, status, source, and reconciliation key.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-679",
          "area": "REQ-FUL",
          "number": "679",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the operator bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-680",
          "area": "REQ-FUL",
          "number": "680",
          "description": "/admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the shipping route bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-681",
          "area": "REQ-FUL",
          "number": "681",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include the fulfillment queue path.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-682",
          "area": "REQ-FUL",
          "number": "682",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the fulfillment queue path with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-683",
          "area": "REQ-FUL",
          "number": "683",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include an operator bundle combining order id, status, source, and reconciliation key.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-684",
          "area": "REQ-FUL",
          "number": "684",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the operator bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-685",
          "area": "REQ-FUL",
          "number": "685",
          "description": "/admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the RMA route bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-686",
          "area": "REQ-FUL",
          "number": "686",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a control bundle combining queue path, operator bundle, and readiness bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-687",
          "area": "REQ-FUL",
          "number": "687",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the control bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-688",
          "area": "REQ-FUL",
          "number": "688",
          "description": "/admin/fulfillment/[orderId] blocked shipping-notification notes must preserve the readiness bundle in machine-readable hover context.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-689",
          "area": "REQ-FUL",
          "number": "689",
          "description": "/admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the operator bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-690",
          "area": "REQ-FUL",
          "number": "690",
          "description": "/admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the control bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-691",
          "area": "REQ-FUL",
          "number": "691",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a control bundle combining queue path, operator bundle, and readiness bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-692",
          "area": "REQ-FUL",
          "number": "692",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the control bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-693",
          "area": "REQ-FUL",
          "number": "693",
          "description": "/admin/fulfillment/[orderId]/ship blocked-shipping alerts must preserve the shipping readiness bundle in machine-readable hover context.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-694",
          "area": "REQ-FUL",
          "number": "694",
          "description": "/admin/fulfillment/[orderId]/ship checklist rows must preserve the shipping readiness bundle in machine-readable hover context.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-695",
          "area": "REQ-FUL",
          "number": "695",
          "description": "/admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the operator bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-696",
          "area": "REQ-FUL",
          "number": "696",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a control bundle combining queue path, operator bundle, and readiness bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-697",
          "area": "REQ-FUL",
          "number": "697",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the control bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-698",
          "area": "REQ-FUL",
          "number": "698",
          "description": "/admin/fulfillment/[orderId]/return blocked-return alerts must preserve the RMA readiness bundle in machine-readable hover context.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-699",
          "area": "REQ-FUL",
          "number": "699",
          "description": "/admin/fulfillment/[orderId]/return checklist rows must preserve the RMA readiness bundle in machine-readable hover context.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-700",
          "area": "REQ-FUL",
          "number": "700",
          "description": "/admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the operator bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-701",
          "area": "REQ-FUL",
          "number": "701",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include an audit bundle combining control bundle, status/source key, placed timestamp, and payment proof token.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-702",
          "area": "REQ-FUL",
          "number": "702",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the audit bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-703",
          "area": "REQ-FUL",
          "number": "703",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a support bundle combining customer proof token, payment proof token, and placed timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-704",
          "area": "REQ-FUL",
          "number": "704",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the support bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-705",
          "area": "REQ-FUL",
          "number": "705",
          "description": "/admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the audit bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-706",
          "area": "REQ-FUL",
          "number": "706",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include an audit bundle combining control bundle, route bundle, placed timestamp, and payment proof token.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-707",
          "area": "REQ-FUL",
          "number": "707",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the audit bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-708",
          "area": "REQ-FUL",
          "number": "708",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a support bundle combining customer proof token, payment proof token, and placed timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-709",
          "area": "REQ-FUL",
          "number": "709",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the support bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-710",
          "area": "REQ-FUL",
          "number": "710",
          "description": "/admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the control bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-711",
          "area": "REQ-FUL",
          "number": "711",
          "description": "/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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-712",
          "area": "REQ-FUL",
          "number": "712",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the audit bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-713",
          "area": "REQ-FUL",
          "number": "713",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a support bundle combining customer proof token, payment proof token, and placed timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-714",
          "area": "REQ-FUL",
          "number": "714",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the support bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-715",
          "area": "REQ-FUL",
          "number": "715",
          "description": "/admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the control bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-716",
          "area": "REQ-FUL",
          "number": "716",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a timeline bundle combining placed timestamp, next action, and shipping-notification eligibility.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-717",
          "area": "REQ-FUL",
          "number": "717",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the timeline bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-718",
          "area": "REQ-FUL",
          "number": "718",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include an exception bundle combining status/source key, control bundle, and support bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-719",
          "area": "REQ-FUL",
          "number": "719",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the exception bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-720",
          "area": "REQ-FUL",
          "number": "720",
          "description": "/admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the support bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-721",
          "area": "REQ-FUL",
          "number": "721",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a timeline bundle combining placed timestamp, next shipping action, and shipment target status.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-722",
          "area": "REQ-FUL",
          "number": "722",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the timeline bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-723",
          "area": "REQ-FUL",
          "number": "723",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include an exception bundle combining shippable eligibility, control bundle, and support bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-724",
          "area": "REQ-FUL",
          "number": "724",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the exception bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-725",
          "area": "REQ-FUL",
          "number": "725",
          "description": "/admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the audit bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-726",
          "area": "REQ-FUL",
          "number": "726",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a timeline bundle combining placed timestamp, next RMA action, and RMA target status.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-727",
          "area": "REQ-FUL",
          "number": "727",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the timeline bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-728",
          "area": "REQ-FUL",
          "number": "728",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include an exception bundle combining RMA eligibility, control bundle, and support bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-729",
          "area": "REQ-FUL",
          "number": "729",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the exception bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-730",
          "area": "REQ-FUL",
          "number": "730",
          "description": "/admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the audit bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-731",
          "area": "REQ-FUL",
          "number": "731",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include an operations bundle combining route bundle, timeline bundle, and exception bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-732",
          "area": "REQ-FUL",
          "number": "732",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the operations bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-733",
          "area": "REQ-FUL",
          "number": "733",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a print bundle combining short order id, placed timestamp, and next action.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-734",
          "area": "REQ-FUL",
          "number": "734",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the print bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-735",
          "area": "REQ-FUL",
          "number": "735",
          "description": "/admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the exception bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-736",
          "area": "REQ-FUL",
          "number": "736",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include an operations bundle combining route bundle, timeline bundle, and exception bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-737",
          "area": "REQ-FUL",
          "number": "737",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the operations bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-738",
          "area": "REQ-FUL",
          "number": "738",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a print bundle combining short order id, placed timestamp, and next shipping action.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-739",
          "area": "REQ-FUL",
          "number": "739",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the print bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-740",
          "area": "REQ-FUL",
          "number": "740",
          "description": "/admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the support bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-741",
          "area": "REQ-FUL",
          "number": "741",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include an operations bundle combining route bundle, timeline bundle, and exception bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-742",
          "area": "REQ-FUL",
          "number": "742",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the operations bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-743",
          "area": "REQ-FUL",
          "number": "743",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a print bundle combining short order id, placed timestamp, and next RMA action.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-744",
          "area": "REQ-FUL",
          "number": "744",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the print bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-745",
          "area": "REQ-FUL",
          "number": "745",
          "description": "/admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the support bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-746",
          "area": "REQ-FUL",
          "number": "746",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a command bundle combining control, operations, and print bundles.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-747",
          "area": "REQ-FUL",
          "number": "747",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the command bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-748",
          "area": "REQ-FUL",
          "number": "748",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include an escalation bundle combining support, exception, and audit bundles.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-749",
          "area": "REQ-FUL",
          "number": "749",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the escalation bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-750",
          "area": "REQ-FUL",
          "number": "750",
          "description": "/admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the command bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-751",
          "area": "REQ-FUL",
          "number": "751",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a command bundle combining control, operations, and print bundles.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-752",
          "area": "REQ-FUL",
          "number": "752",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the command bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-753",
          "area": "REQ-FUL",
          "number": "753",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include an escalation bundle combining support, exception, and audit bundles.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-754",
          "area": "REQ-FUL",
          "number": "754",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the escalation bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-755",
          "area": "REQ-FUL",
          "number": "755",
          "description": "/admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the command bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-756",
          "area": "REQ-FUL",
          "number": "756",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a command bundle combining control, operations, and print bundles.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-757",
          "area": "REQ-FUL",
          "number": "757",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the command bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-758",
          "area": "REQ-FUL",
          "number": "758",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include an escalation bundle combining support, exception, and audit bundles.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-759",
          "area": "REQ-FUL",
          "number": "759",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the escalation bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-760",
          "area": "REQ-FUL",
          "number": "760",
          "description": "/admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the command bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-761",
          "area": "REQ-FUL",
          "number": "761",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a runbook bundle combining route, readiness, and command bundles.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-762",
          "area": "REQ-FUL",
          "number": "762",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the runbook bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-763",
          "area": "REQ-FUL",
          "number": "763",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a recovery bundle combining escalation, support, and timeline bundles.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-764",
          "area": "REQ-FUL",
          "number": "764",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the recovery bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-765",
          "area": "REQ-FUL",
          "number": "765",
          "description": "/admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the recovery bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-766",
          "area": "REQ-FUL",
          "number": "766",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a runbook bundle combining route, readiness, and command bundles.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-767",
          "area": "REQ-FUL",
          "number": "767",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the runbook bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-768",
          "area": "REQ-FUL",
          "number": "768",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a recovery bundle combining escalation, support, and timeline bundles.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-769",
          "area": "REQ-FUL",
          "number": "769",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the recovery bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-770",
          "area": "REQ-FUL",
          "number": "770",
          "description": "/admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the recovery bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-771",
          "area": "REQ-FUL",
          "number": "771",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a runbook bundle combining route, readiness, and command bundles.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-772",
          "area": "REQ-FUL",
          "number": "772",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the runbook bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-773",
          "area": "REQ-FUL",
          "number": "773",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a recovery bundle combining escalation, support, and timeline bundles.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-774",
          "area": "REQ-FUL",
          "number": "774",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the recovery bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-775",
          "area": "REQ-FUL",
          "number": "775",
          "description": "/admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the recovery bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-776",
          "area": "REQ-FUL",
          "number": "776",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a dispatch bundle combining route, command, and recovery bundles.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-777",
          "area": "REQ-FUL",
          "number": "777",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the dispatch bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-778",
          "area": "REQ-FUL",
          "number": "778",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include an archive bundle combining audit, runbook, and print bundles.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-779",
          "area": "REQ-FUL",
          "number": "779",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the archive bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-780",
          "area": "REQ-FUL",
          "number": "780",
          "description": "/admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the dispatch bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-781",
          "area": "REQ-FUL",
          "number": "781",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a dispatch bundle combining route, command, and recovery bundles.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-782",
          "area": "REQ-FUL",
          "number": "782",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the dispatch bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-783",
          "area": "REQ-FUL",
          "number": "783",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include an archive bundle combining audit, runbook, and print bundles.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-784",
          "area": "REQ-FUL",
          "number": "784",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the archive bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-785",
          "area": "REQ-FUL",
          "number": "785",
          "description": "/admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the dispatch bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-786",
          "area": "REQ-FUL",
          "number": "786",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a dispatch bundle combining route, command, and recovery bundles.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-787",
          "area": "REQ-FUL",
          "number": "787",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the dispatch bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-788",
          "area": "REQ-FUL",
          "number": "788",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include an archive bundle combining audit, runbook, and print bundles.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-789",
          "area": "REQ-FUL",
          "number": "789",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the archive bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-790",
          "area": "REQ-FUL",
          "number": "790",
          "description": "/admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the dispatch bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-791",
          "area": "REQ-FUL",
          "number": "791",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a verification bundle combining dispatch bundle, archive bundle, and reconciliation key.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-792",
          "area": "REQ-FUL",
          "number": "792",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the verification bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-793",
          "area": "REQ-FUL",
          "number": "793",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a closeout bundle combining verification bundle, placed timestamp, and total minor units.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-794",
          "area": "REQ-FUL",
          "number": "794",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the closeout bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-795",
          "area": "REQ-FUL",
          "number": "795",
          "description": "/admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the verification bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-796",
          "area": "REQ-FUL",
          "number": "796",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a verification bundle combining dispatch bundle, archive bundle, and reconciliation key.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-797",
          "area": "REQ-FUL",
          "number": "797",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the verification bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-798",
          "area": "REQ-FUL",
          "number": "798",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a closeout bundle combining verification bundle, placed timestamp, and total minor units.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-799",
          "area": "REQ-FUL",
          "number": "799",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the closeout bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-800",
          "area": "REQ-FUL",
          "number": "800",
          "description": "/admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the verification bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-801",
          "area": "REQ-FUL",
          "number": "801",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a verification bundle combining dispatch bundle, archive bundle, and reconciliation key.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-802",
          "area": "REQ-FUL",
          "number": "802",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the verification bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-803",
          "area": "REQ-FUL",
          "number": "803",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a closeout bundle combining verification bundle, placed timestamp, and total minor units.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-804",
          "area": "REQ-FUL",
          "number": "804",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the closeout bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-805",
          "area": "REQ-FUL",
          "number": "805",
          "description": "/admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the verification bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-806",
          "area": "REQ-FUL",
          "number": "806",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a signoff bundle combining closeout bundle, readiness bundle, and next action.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-807",
          "area": "REQ-FUL",
          "number": "807",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the signoff bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-808",
          "area": "REQ-FUL",
          "number": "808",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a retention bundle combining signoff bundle, archive bundle, and placed timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-809",
          "area": "REQ-FUL",
          "number": "809",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the retention bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-810",
          "area": "REQ-FUL",
          "number": "810",
          "description": "/admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the signoff bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-811",
          "area": "REQ-FUL",
          "number": "811",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a signoff bundle combining closeout bundle, readiness bundle, and shipment target status.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-812",
          "area": "REQ-FUL",
          "number": "812",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the signoff bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-813",
          "area": "REQ-FUL",
          "number": "813",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a retention bundle combining signoff bundle, archive bundle, and placed timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-814",
          "area": "REQ-FUL",
          "number": "814",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the retention bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-815",
          "area": "REQ-FUL",
          "number": "815",
          "description": "/admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the signoff bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-816",
          "area": "REQ-FUL",
          "number": "816",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a signoff bundle combining closeout bundle, readiness bundle, and RMA target status.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-817",
          "area": "REQ-FUL",
          "number": "817",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the signoff bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-818",
          "area": "REQ-FUL",
          "number": "818",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a retention bundle combining signoff bundle, archive bundle, and placed timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-819",
          "area": "REQ-FUL",
          "number": "819",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the retention bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-820",
          "area": "REQ-FUL",
          "number": "820",
          "description": "/admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the signoff bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-821",
          "area": "REQ-FUL",
          "number": "821",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a compliance bundle combining retention bundle, verification bundle, and status/source key.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-822",
          "area": "REQ-FUL",
          "number": "822",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the compliance bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-823",
          "area": "REQ-FUL",
          "number": "823",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include an evidence bundle combining compliance bundle, support bundle, and placed timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-824",
          "area": "REQ-FUL",
          "number": "824",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the evidence bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-825",
          "area": "REQ-FUL",
          "number": "825",
          "description": "/admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the compliance bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-826",
          "area": "REQ-FUL",
          "number": "826",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a compliance bundle combining retention bundle, verification bundle, and shipment target status.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-827",
          "area": "REQ-FUL",
          "number": "827",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the compliance bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-828",
          "area": "REQ-FUL",
          "number": "828",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include an evidence bundle combining compliance bundle, support bundle, and placed timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-829",
          "area": "REQ-FUL",
          "number": "829",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the evidence bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-830",
          "area": "REQ-FUL",
          "number": "830",
          "description": "/admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the compliance bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-831",
          "area": "REQ-FUL",
          "number": "831",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a compliance bundle combining retention bundle, verification bundle, and RMA target status.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-832",
          "area": "REQ-FUL",
          "number": "832",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the compliance bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-833",
          "area": "REQ-FUL",
          "number": "833",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include an evidence bundle combining compliance bundle, support bundle, and placed timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-834",
          "area": "REQ-FUL",
          "number": "834",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the evidence bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-835",
          "area": "REQ-FUL",
          "number": "835",
          "description": "/admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the compliance bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-836",
          "area": "REQ-FUL",
          "number": "836",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a custody bundle combining evidence bundle, control bundle, and operator bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-837",
          "area": "REQ-FUL",
          "number": "837",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the custody bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-838",
          "area": "REQ-FUL",
          "number": "838",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include an attestation bundle combining custody bundle, compliance bundle, and placed timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-839",
          "area": "REQ-FUL",
          "number": "839",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the attestation bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-840",
          "area": "REQ-FUL",
          "number": "840",
          "description": "/admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the custody bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-841",
          "area": "REQ-FUL",
          "number": "841",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a custody bundle combining evidence bundle, control bundle, and operator bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-842",
          "area": "REQ-FUL",
          "number": "842",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the custody bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-843",
          "area": "REQ-FUL",
          "number": "843",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include an attestation bundle combining custody bundle, compliance bundle, and placed timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-844",
          "area": "REQ-FUL",
          "number": "844",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the attestation bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-845",
          "area": "REQ-FUL",
          "number": "845",
          "description": "/admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the custody bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-846",
          "area": "REQ-FUL",
          "number": "846",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a custody bundle combining evidence bundle, control bundle, and operator bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-847",
          "area": "REQ-FUL",
          "number": "847",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the custody bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-848",
          "area": "REQ-FUL",
          "number": "848",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include an attestation bundle combining custody bundle, compliance bundle, and placed timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-849",
          "area": "REQ-FUL",
          "number": "849",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the attestation bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-850",
          "area": "REQ-FUL",
          "number": "850",
          "description": "/admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the custody bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-851",
          "area": "REQ-FUL",
          "number": "851",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a resolution bundle combining attestation bundle, closeout bundle, and reconciliation key.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-852",
          "area": "REQ-FUL",
          "number": "852",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the resolution bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-853",
          "area": "REQ-FUL",
          "number": "853",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a ledger bundle combining resolution bundle, custody bundle, and total minor units.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-854",
          "area": "REQ-FUL",
          "number": "854",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the ledger bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-855",
          "area": "REQ-FUL",
          "number": "855",
          "description": "/admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the resolution bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-856",
          "area": "REQ-FUL",
          "number": "856",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a resolution bundle combining attestation bundle, closeout bundle, and reconciliation key.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-857",
          "area": "REQ-FUL",
          "number": "857",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the resolution bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-858",
          "area": "REQ-FUL",
          "number": "858",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a ledger bundle combining resolution bundle, custody bundle, and total minor units.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-859",
          "area": "REQ-FUL",
          "number": "859",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the ledger bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-860",
          "area": "REQ-FUL",
          "number": "860",
          "description": "/admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the resolution bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-861",
          "area": "REQ-FUL",
          "number": "861",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a resolution bundle combining attestation bundle, closeout bundle, and reconciliation key.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-862",
          "area": "REQ-FUL",
          "number": "862",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the resolution bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-863",
          "area": "REQ-FUL",
          "number": "863",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a ledger bundle combining resolution bundle, custody bundle, and total minor units.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-864",
          "area": "REQ-FUL",
          "number": "864",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the ledger bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-865",
          "area": "REQ-FUL",
          "number": "865",
          "description": "/admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the resolution bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-866",
          "area": "REQ-FUL",
          "number": "866",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a settlement bundle combining ledger bundle, retention bundle, and status/source key.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-867",
          "area": "REQ-FUL",
          "number": "867",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the settlement bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-868",
          "area": "REQ-FUL",
          "number": "868",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a docket bundle combining settlement bundle, resolution bundle, and placed timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-869",
          "area": "REQ-FUL",
          "number": "869",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the docket bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-870",
          "area": "REQ-FUL",
          "number": "870",
          "description": "/admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the settlement bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-871",
          "area": "REQ-FUL",
          "number": "871",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a settlement bundle combining ledger bundle, retention bundle, and shipment target status.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-872",
          "area": "REQ-FUL",
          "number": "872",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the settlement bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-873",
          "area": "REQ-FUL",
          "number": "873",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a docket bundle combining settlement bundle, resolution bundle, and placed timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-874",
          "area": "REQ-FUL",
          "number": "874",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the docket bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-875",
          "area": "REQ-FUL",
          "number": "875",
          "description": "/admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the settlement bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-876",
          "area": "REQ-FUL",
          "number": "876",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a settlement bundle combining ledger bundle, retention bundle, and RMA target status.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-877",
          "area": "REQ-FUL",
          "number": "877",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the settlement bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-878",
          "area": "REQ-FUL",
          "number": "878",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a docket bundle combining settlement bundle, resolution bundle, and placed timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-879",
          "area": "REQ-FUL",
          "number": "879",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the docket bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-880",
          "area": "REQ-FUL",
          "number": "880",
          "description": "/admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the settlement bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-881",
          "area": "REQ-FUL",
          "number": "881",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a manifest bundle combining docket bundle, dispatch bundle, and route bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-882",
          "area": "REQ-FUL",
          "number": "882",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the manifest bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-883",
          "area": "REQ-FUL",
          "number": "883",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a release bundle combining manifest bundle, settlement bundle, and next action.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-884",
          "area": "REQ-FUL",
          "number": "884",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the release bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-885",
          "area": "REQ-FUL",
          "number": "885",
          "description": "/admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the manifest bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-886",
          "area": "REQ-FUL",
          "number": "886",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a manifest bundle combining docket bundle, dispatch bundle, and route bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-887",
          "area": "REQ-FUL",
          "number": "887",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the manifest bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-888",
          "area": "REQ-FUL",
          "number": "888",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a release bundle combining manifest bundle, settlement bundle, and shipment target status.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-889",
          "area": "REQ-FUL",
          "number": "889",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the release bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-890",
          "area": "REQ-FUL",
          "number": "890",
          "description": "/admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the manifest bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-891",
          "area": "REQ-FUL",
          "number": "891",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a manifest bundle combining docket bundle, dispatch bundle, and route bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-892",
          "area": "REQ-FUL",
          "number": "892",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the manifest bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-893",
          "area": "REQ-FUL",
          "number": "893",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a release bundle combining manifest bundle, settlement bundle, and RMA target status.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-894",
          "area": "REQ-FUL",
          "number": "894",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the release bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-895",
          "area": "REQ-FUL",
          "number": "895",
          "description": "/admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the manifest bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-896",
          "area": "REQ-FUL",
          "number": "896",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a certification bundle combining release bundle, manifest bundle, and readiness bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-897",
          "area": "REQ-FUL",
          "number": "897",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the certification bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-898",
          "area": "REQ-FUL",
          "number": "898",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include an export bundle combining certification bundle, docket bundle, and placed timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-899",
          "area": "REQ-FUL",
          "number": "899",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the export bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-900",
          "area": "REQ-FUL",
          "number": "900",
          "description": "/admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the certification bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-901",
          "area": "REQ-FUL",
          "number": "901",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a certification bundle combining release bundle, manifest bundle, and readiness bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-902",
          "area": "REQ-FUL",
          "number": "902",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the certification bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-903",
          "area": "REQ-FUL",
          "number": "903",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include an export bundle combining certification bundle, docket bundle, and placed timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-904",
          "area": "REQ-FUL",
          "number": "904",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the export bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-905",
          "area": "REQ-FUL",
          "number": "905",
          "description": "/admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the certification bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-906",
          "area": "REQ-FUL",
          "number": "906",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a certification bundle combining release bundle, manifest bundle, and readiness bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-907",
          "area": "REQ-FUL",
          "number": "907",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the certification bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-908",
          "area": "REQ-FUL",
          "number": "908",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include an export bundle combining certification bundle, docket bundle, and placed timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-909",
          "area": "REQ-FUL",
          "number": "909",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the export bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-910",
          "area": "REQ-FUL",
          "number": "910",
          "description": "/admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the certification bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-911",
          "area": "REQ-FUL",
          "number": "911",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a handoff bundle combining export bundle, certification bundle, and route bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-912",
          "area": "REQ-FUL",
          "number": "912",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the handoff bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-913",
          "area": "REQ-FUL",
          "number": "913",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a clearance bundle combining handoff bundle, release bundle, and next action.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-914",
          "area": "REQ-FUL",
          "number": "914",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the clearance bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-915",
          "area": "REQ-FUL",
          "number": "915",
          "description": "/admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the handoff bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-916",
          "area": "REQ-FUL",
          "number": "916",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a handoff bundle combining export bundle, certification bundle, and route bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-917",
          "area": "REQ-FUL",
          "number": "917",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the handoff bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-918",
          "area": "REQ-FUL",
          "number": "918",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a clearance bundle combining handoff bundle, release bundle, and shipment target status.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-919",
          "area": "REQ-FUL",
          "number": "919",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the clearance bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-920",
          "area": "REQ-FUL",
          "number": "920",
          "description": "/admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the handoff bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-921",
          "area": "REQ-FUL",
          "number": "921",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a handoff bundle combining export bundle, certification bundle, and route bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-922",
          "area": "REQ-FUL",
          "number": "922",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the handoff bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-923",
          "area": "REQ-FUL",
          "number": "923",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a clearance bundle combining handoff bundle, release bundle, and RMA target status.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-924",
          "area": "REQ-FUL",
          "number": "924",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the clearance bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-925",
          "area": "REQ-FUL",
          "number": "925",
          "description": "/admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the handoff bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-926",
          "area": "REQ-FUL",
          "number": "926",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include an authorization bundle combining clearance bundle, handoff bundle, and readiness bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-927",
          "area": "REQ-FUL",
          "number": "927",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the authorization bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-928",
          "area": "REQ-FUL",
          "number": "928",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a finalization bundle combining authorization bundle, export bundle, and next action.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-929",
          "area": "REQ-FUL",
          "number": "929",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the finalization bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-930",
          "area": "REQ-FUL",
          "number": "930",
          "description": "/admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the authorization bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-931",
          "area": "REQ-FUL",
          "number": "931",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include an authorization bundle combining clearance bundle, handoff bundle, and readiness bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-932",
          "area": "REQ-FUL",
          "number": "932",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the authorization bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-933",
          "area": "REQ-FUL",
          "number": "933",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a finalization bundle combining authorization bundle, export bundle, and shipment target status.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-934",
          "area": "REQ-FUL",
          "number": "934",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the finalization bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-935",
          "area": "REQ-FUL",
          "number": "935",
          "description": "/admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the authorization bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-936",
          "area": "REQ-FUL",
          "number": "936",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include an authorization bundle combining clearance bundle, handoff bundle, and readiness bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-937",
          "area": "REQ-FUL",
          "number": "937",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the authorization bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-938",
          "area": "REQ-FUL",
          "number": "938",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a finalization bundle combining authorization bundle, export bundle, and RMA target status.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-939",
          "area": "REQ-FUL",
          "number": "939",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the finalization bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-940",
          "area": "REQ-FUL",
          "number": "940",
          "description": "/admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the authorization bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-941",
          "area": "REQ-FUL",
          "number": "941",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include an approval bundle combining finalization bundle, authorization bundle, and readiness bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-942",
          "area": "REQ-FUL",
          "number": "942",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the approval bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-943",
          "area": "REQ-FUL",
          "number": "943",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a completion bundle combining approval bundle, clearance bundle, and next action.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-944",
          "area": "REQ-FUL",
          "number": "944",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the completion bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-945",
          "area": "REQ-FUL",
          "number": "945",
          "description": "/admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the approval bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-946",
          "area": "REQ-FUL",
          "number": "946",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include an approval bundle combining finalization bundle, authorization bundle, and readiness bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-947",
          "area": "REQ-FUL",
          "number": "947",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the approval bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-948",
          "area": "REQ-FUL",
          "number": "948",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a completion bundle combining approval bundle, clearance bundle, and shipment target status.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-949",
          "area": "REQ-FUL",
          "number": "949",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the completion bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-950",
          "area": "REQ-FUL",
          "number": "950",
          "description": "/admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the approval bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-951",
          "area": "REQ-FUL",
          "number": "951",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include an approval bundle combining finalization bundle, authorization bundle, and readiness bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-952",
          "area": "REQ-FUL",
          "number": "952",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the approval bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-953",
          "area": "REQ-FUL",
          "number": "953",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a completion bundle combining approval bundle, clearance bundle, and RMA target status.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-954",
          "area": "REQ-FUL",
          "number": "954",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the completion bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-955",
          "area": "REQ-FUL",
          "number": "955",
          "description": "/admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the approval bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-956",
          "area": "REQ-FUL",
          "number": "956",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a closure bundle combining completion bundle, finalization bundle, and next action.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-957",
          "area": "REQ-FUL",
          "number": "957",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the closure bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-958",
          "area": "REQ-FUL",
          "number": "958",
          "description": "/admin/fulfillment/[orderId] copy-fulfillment-handoff summaries must include a confirmation bundle combining closure bundle, route bundle, and placed timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-959",
          "area": "REQ-FUL",
          "number": "959",
          "description": "/admin/fulfillment/[orderId] summary tiles must include the confirmation bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-960",
          "area": "REQ-FUL",
          "number": "960",
          "description": "/admin/fulfillment/[orderId] order-action navigation must expose a copy affordance for the closure bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-961",
          "area": "REQ-FUL",
          "number": "961",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a closure bundle combining completion bundle, finalization bundle, and shipment target status.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-962",
          "area": "REQ-FUL",
          "number": "962",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the closure bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-963",
          "area": "REQ-FUL",
          "number": "963",
          "description": "/admin/fulfillment/[orderId]/ship copy-shipping-handoff summaries must include a confirmation bundle combining closure bundle, route bundle, and placed timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-964",
          "area": "REQ-FUL",
          "number": "964",
          "description": "/admin/fulfillment/[orderId]/ship summary tiles must include the confirmation bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-965",
          "area": "REQ-FUL",
          "number": "965",
          "description": "/admin/fulfillment/[orderId]/ship navigation must expose a copy affordance for the closure bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-966",
          "area": "REQ-FUL",
          "number": "966",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a closure bundle combining completion bundle, finalization bundle, and RMA target status.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-967",
          "area": "REQ-FUL",
          "number": "967",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the closure bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-968",
          "area": "REQ-FUL",
          "number": "968",
          "description": "/admin/fulfillment/[orderId]/return copy-RMA-handoff summaries must include a confirmation bundle combining closure bundle, route bundle, and placed timestamp.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-969",
          "area": "REQ-FUL",
          "number": "969",
          "description": "/admin/fulfillment/[orderId]/return summary tiles must include the confirmation bundle with a copy affordance.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-FUL-970",
          "area": "REQ-FUL",
          "number": "970",
          "description": "/admin/fulfillment/[orderId]/return navigation must expose a copy affordance for the closure bundle.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-DRP",
      "label": "Product Drops",
      "total": 26,
      "shipped": 24,
      "inProgress": 2,
      "notStarted": 0,
      "requirements": [
        {
          "id": "REQ-DRP-524",
          "area": "REQ-DRP",
          "number": "524",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/drops/[slug]/opengraph-image.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DRP-525",
          "area": "REQ-DRP",
          "number": "525",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/drops/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DRP-526",
          "area": "REQ-DRP",
          "number": "526",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/drops/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DRP-527",
          "area": "REQ-DRP",
          "number": "527",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/drops/[slug]/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DRP-523",
          "area": "REQ-DRP",
          "number": "523",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/drops/[slug]/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DRP-522",
          "area": "REQ-DRP",
          "number": "522",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/drops/rss.xml/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/rssChannelImage.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DRP-521",
          "area": "REQ-DRP",
          "number": "521",
          "description": "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).",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/dropStructuredData.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DRP-520",
          "area": "REQ-DRP",
          "number": "520",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/drops/[slug]/calendar.ics/route.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DRP-519",
          "area": "REQ-DRP",
          "number": "519",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/drops/[slug]/opengraph-image.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DRP-001",
          "area": "REQ-DRP",
          "number": "001",
          "description": "Drops are scheduled, time-bounded releases with per-product inventory caps, per-customer purchase limits, optional waitlists, and countdown timers.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/migrations/0011_drops.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/demo-data/src/packs/0007_drops.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/drops.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/(storefront)/drops/[slug]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/drops/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/drops/new/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/drops/new/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/drops/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/DropCountdown.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/drops.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/core/src/drops/index.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/core/src/drops/status.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/drops.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/drops.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 17,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DRP-002",
          "area": "REQ-DRP",
          "number": "002",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/drops/[slug]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0011_drops.sql",
              "count": 1,
              "kind": "migration"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DRP-003",
          "area": "REQ-DRP",
          "number": "003",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/drops/[slug]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0011_drops.sql",
              "count": 1,
              "kind": "migration"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DRP-004",
          "area": "REQ-DRP",
          "number": "004",
          "description": "The system must apply per-customer rate limits and bot mitigation (device/session signals plus a challenge when risk is high).",
          "status": "in-progress",
          "citations": [
            {
              "path": "packages/db/src/migrations/0011_drops.sql",
              "count": 1,
              "kind": "migration"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-DRP-005",
          "area": "REQ-DRP",
          "number": "005",
          "description": "Drop analytics must report queue-entry rate, sell-through time, conversion, abandonment, and attribution.",
          "status": "in-progress",
          "citations": [
            {
              "path": "packages/db/src/migrations/0011_drops.sql",
              "count": 1,
              "kind": "migration"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-DRP-500",
          "area": "REQ-DRP",
          "number": "500",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/dropStructuredData.test.ts",
              "count": 3,
              "kind": "test"
            },
            {
              "path": "apps/web/src/lib/dropStructuredData.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/eventStructuredData.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DRP-501",
          "area": "REQ-DRP",
          "number": "501",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/dropStructuredData.ts",
              "count": 5,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/dropStructuredData.test.ts",
              "count": 3,
              "kind": "test"
            },
            {
              "path": "apps/web/src/lib/eventStructuredData.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 9,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DRP-502",
          "area": "REQ-DRP",
          "number": "502",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/drops/categories/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/drops.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/DropsFilterRail.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/dropsFilters.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DRP-503",
          "area": "REQ-DRP",
          "number": "503",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/components/RelatedCardStrip.tsx",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/drops.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/drops/[slug]/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DRP-504",
          "area": "REQ-DRP",
          "number": "504",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/components/UrgencyBadge.logic.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/UrgencyBadge.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DRP-505",
          "area": "REQ-DRP",
          "number": "505",
          "description": "The /drops listing page must carry a real metadata export and a colocated opengraph-image.tsx tuned to \"Upcoming fabric drops\" search intent.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/drops/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/drops/opengraph-image.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DRP-506",
          "area": "REQ-DRP",
          "number": "506",
          "description": "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...\"…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/components/DropCalendarLinks.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/drops/[slug]/calendar.ics/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/drops/[slug]/edit/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/events/[id]/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DRP-507",
          "area": "REQ-DRP",
          "number": "507",
          "description": "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.…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/drops/[slug]/opengraph-image.tsx",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/drops/[slug]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/dropStructuredData.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DRP-508",
          "area": "REQ-DRP",
          "number": "508",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/components/DropCountdown.tsx",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DRP-509",
          "area": "REQ-DRP",
          "number": "509",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/dropStructuredData.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/web/src/lib/dropStructuredData.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DRP-511",
          "area": "REQ-DRP",
          "number": "511",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/drops/categories/opengraph-image.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/drops/categories/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DRP-514",
          "area": "REQ-DRP",
          "number": "514",
          "description": "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).",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/drops/opml.xml/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/drops/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        }
      ]
    },
    {
      "area": "REQ-EVT",
      "label": "Events & Ticketing",
      "total": 37,
      "shipped": 33,
      "inProgress": 0,
      "notStarted": 4,
      "requirements": [
        {
          "id": "REQ-EVT-522",
          "area": "REQ-EVT",
          "number": "522",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-EVT-521",
          "area": "REQ-EVT",
          "number": "521",
          "description": "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).",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/calendar.ics/route.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-525",
          "area": "REQ-EVT",
          "number": "525",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/events.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/instructors/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/formattingLocale.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "966e0b37c58d64fa6b3da6e8bc456a33d66cdd7e",
            "shortSha": "966e0b3",
            "subject": "fix(design-contests): honor contest timezones",
            "author": "clubmmm",
            "date": "2026-04-27T13:11:41-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-EVT-526",
          "area": "REQ-EVT",
          "number": "526",
          "description": "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,…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/events/eventsIndexViewModel.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/eventsIndexViewModel.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-527",
          "area": "REQ-EVT",
          "number": "527",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/events/eventsIndexViewModel.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/eventsIndexViewModel.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-528",
          "area": "REQ-EVT",
          "number": "528",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/unavailableRegistrationViewModel.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/unavailableRegistrationViewModel.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-524",
          "area": "REQ-EVT",
          "number": "524",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/page.tsx",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-500",
          "area": "REQ-EVT",
          "number": "500",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/eventStructuredData.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/eventStructuredData.test.ts",
              "count": 2,
              "kind": "test"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-501",
          "area": "REQ-EVT",
          "number": "501",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/eventStructuredData.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/eventStructuredData.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-502",
          "area": "REQ-EVT",
          "number": "502",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/eventStructuredData.test.ts",
              "count": 6,
              "kind": "test"
            },
            {
              "path": "apps/web/src/lib/eventStructuredData.ts",
              "count": 5,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/opengraph-image.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/eventsFilters.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 13,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-503",
          "area": "REQ-EVT",
          "number": "503",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/components/EventCountdown.logic.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/web/src/components/EventCountdown.logic.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/DropCountdown.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/EventCountdown.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-504",
          "area": "REQ-EVT",
          "number": "504",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/components/RelatedCardStrip.tsx",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/events.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/drops/[slug]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/events.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 8,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-505",
          "area": "REQ-EVT",
          "number": "505",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/events/instructors/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/events.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/instructors/loading.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/events.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-506",
          "area": "REQ-EVT",
          "number": "506",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/components/EventsFilterRail.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/dropsFilters.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/eventsFilters.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-507",
          "area": "REQ-EVT",
          "number": "507",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/opengraph-image.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/drops/[slug]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/dropStructuredData.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/eventStructuredData.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/productStructuredData.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-508",
          "area": "REQ-EVT",
          "number": "508",
          "description": "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:",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/components/EventCalendarLinks.tsx",
              "count": 4,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/drops/[slug]/calendar.ics/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/calendar.ics/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/DropCalendarLinks.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-509",
          "area": "REQ-EVT",
          "number": "509",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/events/opengraph-image.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-511",
          "area": "REQ-EVT",
          "number": "511",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/events/instructors/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-512",
          "area": "REQ-EVT",
          "number": "512",
          "description": "/events/instructors/[key] generateMetadata must add RSS autodiscovery (alternates.types[\"application/rss+xml\"]: \"/events/rss.xml\") and openGraph.images: [\"/events/opengraph-image\"].",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/events/instructors/[key]/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-513",
          "area": "REQ-EVT",
          "number": "513",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/events/instructors/opengraph-image.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-514",
          "area": "REQ-EVT",
          "number": "514",
          "description": "/events/instructors/[key] has a colocated per-instructor opengraph-image.tsx (Node runtime). generateMetadata wires per-key openGraph.images (REQ-EVT-514).",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/events/instructors/[key]/opengraph-image.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/instructors/[key]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/instructors/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-515",
          "area": "REQ-EVT",
          "number": "515",
          "description": "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).",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/events/opml.xml/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-517",
          "area": "REQ-EVT",
          "number": "517",
          "description": "/events/[slug]/registered adds \"Browse fabrics ???\" CTA alongside the existing calendar/class/share affordances (REQ-EVT-517).",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/registered/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-518",
          "area": "REQ-EVT",
          "number": "518",
          "description": "/events/[slug] generateMetadata gains alternates.types[\"application/ld+json\"] pointing at the per-slug ld.json endpoint (REQ-EVT-518).",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/drops/[slug]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-510",
          "area": "REQ-EVT",
          "number": "510",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/events/instructors/[key]/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/instructors/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-001",
          "area": "REQ-EVT",
          "number": "001",
          "description": "Support one-off events, recurring classes, and multi-session series with per-session attendance.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0008_events.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/events.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/events/new/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/events/new/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/events/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/EventCountdown.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/events.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/core/src/events/index.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/core/src/events/status.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0012_events.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/schema/events.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/classes.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 17,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-002",
          "area": "REQ-EVT",
          "number": "002",
          "description": "Instructors must have profiles, bios, and the ability to manage their own class rosters.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/eventStructuredData.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0012_events.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/events/[id]/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-003",
          "area": "REQ-EVT",
          "number": "003",
          "description": "Classes must support per-session capacity, optional seat maps, waitlists, and materials fees billed separately from the ticket.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/testing/src/events.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "packages/db/src/migrations/0012_events.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/events.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0008_events.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-004",
          "area": "REQ-EVT",
          "number": "004",
          "description": "Cancellation and reschedule rules must be configurable per event with automated refunds or transfers.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-EVT-010",
          "area": "REQ-EVT",
          "number": "010",
          "description": "Ticket types (General, VIP, member, etc.) with capacity and pricing per type.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/eventStructuredData.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-011",
          "area": "REQ-EVT",
          "number": "011",
          "description": "Each ticket issues a unique QR code usable for check-in; check-in must be possible offline and reconcile on sync.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/registered/layout.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/registered/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0012_events.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/events.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/classes.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/events.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-012",
          "area": "REQ-EVT",
          "number": "012",
          "description": "Refunds, transfers, and name changes must be supported with audit history.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-EVT-013",
          "area": "REQ-EVT",
          "number": "013",
          "description": "Promo codes, early-bird pricing, and influencer codes (�14) must apply.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/actions.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-020",
          "area": "REQ-EVT",
          "number": "020",
          "description": "Events may bundle a required kit of fabrics and notions; purchasing the ticket can optionally auto-add the kit.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-EVT-021",
          "area": "REQ-EVT",
          "number": "021",
          "description": "Kits reserve inventory on ticket purchase when configured to do so.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-EVT-022",
          "area": "REQ-EVT",
          "number": "022",
          "description": "Instructors see a dashboard of registered students, supply lists, and kit fulfillment status.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/events/[id]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0012_events.sql",
              "count": 1,
              "kind": "migration"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-EVT-030",
          "area": "REQ-EVT",
          "number": "030",
          "description": "Send registration confirmation, reminder, and change notifications via email and SMS per �18.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/registered/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        }
      ]
    },
    {
      "area": "REQ-KIT",
      "label": "Kits, Bundles & Project Shopping",
      "total": 4,
      "shipped": 1,
      "inProgress": 0,
      "notStarted": 3,
      "requirements": [
        {
          "id": "REQ-KIT-001",
          "area": "REQ-KIT",
          "number": "001",
          "description": "A kit is a composite product with a fixed or curated list of components (fabrics by yardage, precuts, notions, patterns).",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/schema/skus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-KIT-002",
          "area": "REQ-KIT",
          "number": "002",
          "description": "Kits must reserve inventory across all components at purchase; if any component is unavailable, the kit is unavailable (configurable alternative: back-order permitted).",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-KIT-003",
          "area": "REQ-KIT",
          "number": "003",
          "description": "Kits may be tied to patterns and classes so a ticket purchase offers the corresponding kit.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-KIT-004",
          "area": "REQ-KIT",
          "number": "004",
          "description": "Kits priced as a bundle must still report component-level inventory and attribution.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-INF",
      "label": "Influencer & Affiliate System",
      "total": 13,
      "shipped": 1,
      "inProgress": 0,
      "notStarted": 12,
      "requirements": [
        {
          "id": "REQ-INF-001",
          "area": "REQ-INF",
          "number": "001",
          "description": "Influencer accounts with profile, agreed commission terms, and payout destination.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-INF-002",
          "area": "REQ-INF",
          "number": "002",
          "description": "Referral links with per-influencer slugs and optional UTM parameters.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-INF-003",
          "area": "REQ-INF",
          "number": "003",
          "description": "Discount codes attributable to influencers, with usage limits.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-INF-004",
          "area": "REQ-INF",
          "number": "004",
          "description": "Commission tracking visible to both the store and the influencer in real time.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-INF-010",
          "area": "REQ-INF",
          "number": "010",
          "description": "Support percentage, fixed, tiered, and product/event-specific commission schedules.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-INF-011",
          "area": "REQ-INF",
          "number": "011",
          "description": "Commission rules must support start/end dates, exclusions (e.g., sale items), and per-customer caps.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-INF-020",
          "area": "REQ-INF",
          "number": "020",
          "description": "Attribution must use first-touch and last-touch models with a configurable window (default 30 days) and deterministic tie-breaking.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-INF-021",
          "area": "REQ-INF",
          "number": "021",
          "description": "Attribution sources include referral link clicks, discount code redemption, and customer-linked sessions.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-INF-022",
          "area": "REQ-INF",
          "number": "022",
          "description": "Multi-channel attribution must work across POS, web, and event ticketing (e.g., an in-store QR for an influencer).",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-INF-030",
          "area": "REQ-INF",
          "number": "030",
          "description": "The system must persist: Influencers, ReferralLinks, DiscountCodes, AttributionSessions, Orders, OrderAttribution, OrderItems, CommissionRules, CommissionLedger, Payouts.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/payoutJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/jobs.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-INF-040",
          "area": "REQ-INF",
          "number": "040",
          "description": "Payouts must be produced on a configurable schedule (weekly, monthly) with a minimum threshold.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-INF-041",
          "area": "REQ-INF",
          "number": "041",
          "description": "The payout pipeline must reconcile against the commission ledger and produce per-payout statements.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-INF-042",
          "area": "REQ-INF",
          "number": "042",
          "description": "Payouts must integrate with a marketplace-payments provider that supports KYC, 1099 reporting, and cross-border payouts where applicable.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-QLT",
      "label": "Quilt Pattern Visualization",
      "total": 7,
      "shipped": 7,
      "inProgress": 0,
      "notStarted": 0,
      "requirements": [
        {
          "id": "REQ-QLT-001",
          "area": "REQ-QLT",
          "number": "001",
          "description": "Customers and store staff must be able to design and preview a quilt pattern with arbitrary fabric assignments and swap fabrics dynamically.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/core/src/quilt/patterns.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/QuiltVisualizer.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/visualizer/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/storefront.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/core/src/quilt/index.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0017_sku_images.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/skuImages.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 10,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QLT-002",
          "area": "REQ-QLT",
          "number": "002",
          "description": "The Quilt Designer must support comparison of two or more fabric variations side-by-side.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/visualizer/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/QuiltVisualizer.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QLT-003",
          "area": "REQ-QLT",
          "number": "003",
          "description": "The Quilt Designer must suggest fabrics from in-stock inventory and flag out-of-stock selections.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/components/QuiltVisualizer.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QLT-004",
          "area": "REQ-QLT",
          "number": "004",
          "description": "The Quilt Designer must compute yardage requirements per fabric role (top, backing, binding) based on pattern and size.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/core/src/quilt/patterns.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "packages/core/src/quilt/patterns.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/QuiltVisualizer.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QLT-005",
          "area": "REQ-QLT",
          "number": "005",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/components/QuiltVisualizer.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/visualizer/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/visualizer/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/env.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/kitCart.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "320109d08de21ae1ab16db34dc22b966e6957f03",
            "shortSha": "320109d",
            "subject": "feat(admin): automate custom domain setup (REQ-ADM-575) (#375)",
            "author": "clubmmm",
            "date": "2026-04-27T17:03:27-06:00"
          },
          "commitCount": 3
        },
        {
          "id": "REQ-QLT-006",
          "area": "REQ-QLT",
          "number": "006",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/visualizer/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/QuiltVisualizer.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/env.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/core/src/quilt/patterns.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "320109d08de21ae1ab16db34dc22b966e6957f03",
            "shortSha": "320109d",
            "subject": "feat(admin): automate custom domain setup (REQ-ADM-575) (#375)",
            "author": "clubmmm",
            "date": "2026-04-27T17:03:27-06:00"
          },
          "commitCount": 3
        },
        {
          "id": "REQ-QLT-007",
          "area": "REQ-QLT",
          "number": "007",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/visualizer/opengraph-image.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        }
      ]
    },
    {
      "area": "REQ-GSW",
      "label": "Guided Shopping Wizard",
      "total": 5,
      "shipped": 4,
      "inProgress": 0,
      "notStarted": 1,
      "requirements": [
        {
          "id": "REQ-GSW-001",
          "area": "REQ-GSW",
          "number": "001",
          "description": "Entry prompt: \"What are you shopping for?\" ??? options: Start a new project, Buy fabric, Buy thread, Shop events, Browse.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/wizard/page.tsx",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/wizard/opengraph-image.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/wizard/project/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/wizard.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-GSW-002",
          "area": "REQ-GSW",
          "number": "002",
          "description": "Project flow: pick pattern ??? choose size ??? pick fabrics (top, backing, binding) ??? pick batting ??? pick thread ??? tools & extras ??? review ??? add to cart.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/wizard/project/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/kitCart.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-GSW-003",
          "area": "REQ-GSW",
          "number": "003",
          "description": "Each step must show visual previews and real-time inventory validation.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-GSW-004",
          "area": "REQ-GSW",
          "number": "004",
          "description": "The wizard must compute and display total yardage, estimated subtotal, and substitution options.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/wizard/project/actions.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-GSW-005",
          "area": "REQ-GSW",
          "number": "005",
          "description": "Projects must be saveable to the customer account and shareable via link.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/wizard/project/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0014_customer_projects.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "apps/web/src/app/(storefront)/wizard/project/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/projects/[id]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/projects/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/accountProjects.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/wizard.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0013_customers.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/schema/customerProjects.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/customerProjects.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/customerProjects.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 13,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        }
      ]
    },
    {
      "area": "REQ-SYN",
      "label": "Multi-Channel Sync & Offline",
      "total": 8,
      "shipped": 0,
      "inProgress": 2,
      "notStarted": 6,
      "requirements": [
        {
          "id": "REQ-SYN-001",
          "area": "REQ-SYN",
          "number": "001",
          "description": "Inventory changes from any channel (POS, web, drops, events) must propagate to other active channels within 2 seconds at p95 under normal load.",
          "status": "in-progress",
          "citations": [
            {
              "path": "apps/web/src/lib/roadmap.test.ts",
              "count": 2,
              "kind": "test"
            }
          ],
          "citationCount": 2,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SYN-002",
          "area": "REQ-SYN",
          "number": "002",
          "description": "Drop countdowns, class check-ins, and POS cart updates must use a realtime transport capable of ordered per-channel delivery (see �29).",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SYN-010",
          "area": "REQ-SYN",
          "number": "010",
          "description": "The iPad POS must remain fully functional offline for sales of items whose inventory is non-contested locally.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SYN-011",
          "area": "REQ-SYN",
          "number": "011",
          "description": "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.",
          "status": "in-progress",
          "citations": [
            {
              "path": "apps/pos/src/runtime/registerWorkbench.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SYN-012",
          "area": "REQ-SYN",
          "number": "012",
          "description": "On reconnection, transactions sync in order of occurrence with idempotent, server-authoritative application.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SYN-013",
          "area": "REQ-SYN",
          "number": "013",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SYN-020",
          "area": "REQ-SYN",
          "number": "020",
          "description": "The system must define a documented conflict resolution model for each mutable entity. Default model:",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SYN-021",
          "area": "REQ-SYN",
          "number": "021",
          "description": "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).",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-NOT",
      "label": "Notifications",
      "total": 5,
      "shipped": 0,
      "inProgress": 0,
      "notStarted": 5,
      "requirements": [
        {
          "id": "REQ-NOT-001",
          "area": "REQ-NOT",
          "number": "001",
          "description": "Support transactional email (order, ticket, shipping, password), marketing email (drops, classes, abandoned cart), SMS (order, ticket, event reminder, drop alert), and web/mobile push.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-NOT-002",
          "area": "REQ-NOT",
          "number": "002",
          "description": "Each store must have a verified sender identity with SPF/DKIM/DMARC alignment and a per-store unsubscribe center.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-NOT-003",
          "area": "REQ-NOT",
          "number": "003",
          "description": "Marketing messaging must honor CAN-SPAM and TCPA: explicit consent capture, list hygiene, opt-out within one business day.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-NOT-004",
          "area": "REQ-NOT",
          "number": "004",
          "description": "Critical notifications must have a delivery-retry policy and an observable delivery-success metric; deliverability dashboards per store are required.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-NOT-005",
          "area": "REQ-NOT",
          "number": "005",
          "description": "Templates must be authorable by store owners with safe variables and preview.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-SRC",
      "label": "Search & Discovery",
      "total": 18,
      "shipped": 17,
      "inProgress": 0,
      "notStarted": 1,
      "requirements": [
        {
          "id": "REQ-SRC-514",
          "area": "REQ-SRC",
          "number": "514",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/opensearch.xml/route.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "12d6c418e330a0bfcf58d0e6307a0f40b32bc9c4",
            "shortSha": "12d6c41",
            "subject": "fix(web): resolve reference store Clerk slug host (REQ-DMO-005, REQ-ARC-037, REQ-ARC-036) (#371)",
            "author": "clubmmm",
            "date": "2026-04-27T14:28:54-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-SRC-515",
          "area": "REQ-SRC",
          "number": "515",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/shop/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-SRC-516",
          "area": "REQ-SRC",
          "number": "516",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/opensearch.xml/route.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "12d6c418e330a0bfcf58d0e6307a0f40b32bc9c4",
            "shortSha": "12d6c41",
            "subject": "fix(web): resolve reference store Clerk slug host (REQ-DMO-005, REQ-ARC-037, REQ-ARC-036) (#371)",
            "author": "clubmmm",
            "date": "2026-04-27T14:28:54-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-SRC-517",
          "area": "REQ-SRC",
          "number": "517",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/shop/widths/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SRC-513",
          "area": "REQ-SRC",
          "number": "513",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/storefront.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SRC-001",
          "area": "REQ-SRC",
          "number": "001",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/testing/src/search.test.ts",
              "count": 3,
              "kind": "test"
            },
            {
              "path": "apps/web/src/lib/storefront.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0006_storefront_catalog.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/collections/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/colors/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/designers/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/fibers/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/widths/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/sitemap.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/StorefrontFilters.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0010_sku_catalog.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/skus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/skus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 17,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SRC-002",
          "area": "REQ-SRC",
          "number": "002",
          "description": "Provide color search (pick a color or upload an image) using dominant colors extracted during media ingest.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SRC-003",
          "area": "REQ-SRC",
          "number": "003",
          "description": "Provide semantic search for free-text queries (\"blue floral for a baby quilt\") using vector embeddings stored with SKUs.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/storefront.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/skus.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SRC-004",
          "area": "REQ-SRC",
          "number": "004",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/events/instructors/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/[slug]/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/breadcrumbJsonLd.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/web/src/lib/indexListingJsonLd.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/web/src/lib/socialMetadata.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/storefront.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/collections/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/colors/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/designers/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/fibers/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/widths/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/robots.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/sitemap.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/breadcrumbJsonLd.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/dropStructuredData.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/web/src/lib/dropStructuredData.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/drops.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/eventStructuredData.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/web/src/lib/eventStructuredData.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/events.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/facetIndexJsonLd.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/web/src/lib/facetIndexJsonLd.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/homeStructuredData.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/web/src/lib/homeStructuredData.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/ogBoltCard.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/productStructuredData.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/web/src/lib/productStructuredData.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/publicSite.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/schemaMoney.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/storefront.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 38,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-SRC-500",
          "area": "REQ-SRC",
          "number": "500",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/shop/fibers/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-SRC-501",
          "area": "REQ-SRC",
          "number": "501",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/shop/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/widths/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-SRC-502",
          "area": "REQ-SRC",
          "number": "502",
          "description": "The /shop/rss.xml RSS channel emits <itunes:keywords> and the /opensearch.xml",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/opensearch.xml/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/rss.xml/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/channelKeywords.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/web/src/lib/channelKeywords.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "12d6c418e330a0bfcf58d0e6307a0f40b32bc9c4",
            "shortSha": "12d6c41",
            "subject": "fix(web): resolve reference store Clerk slug host (REQ-DMO-005, REQ-ARC-037, REQ-ARC-036) (#371)",
            "author": "clubmmm",
            "date": "2026-04-27T14:28:54-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-SRC-503",
          "area": "REQ-SRC",
          "number": "503",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/shop/widths/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SRC-504",
          "area": "REQ-SRC",
          "number": "504",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/drops/rss.xml/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/rss.xml/route.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SRC-505",
          "area": "REQ-SRC",
          "number": "505",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/drops.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/drops/rss.xml/route.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SRC-507",
          "area": "REQ-SRC",
          "number": "507",
          "description": "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).",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/shop/opml.xml/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-SRC-508",
          "area": "REQ-SRC",
          "number": "508",
          "description": "Tenant sitemap promotes live drops (startAt <= now < endAt) to changeFrequency: hourly during the sale window (REQ-SRC-508).",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/sitemap.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SRC-509",
          "area": "REQ-SRC",
          "number": "509",
          "description": "/shop PLP metadata adds alternates.types[\"application/opensearchdescription+xml\"]: \"/opensearch.xml\" so browsers offer fabric search in URL-bar autocomplete (REQ-SRC-509).",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/shop/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        }
      ]
    },
    {
      "area": "REQ-CRM",
      "label": "Customer Management & Loyalty",
      "total": 18,
      "shipped": 8,
      "inProgress": 1,
      "notStarted": 9,
      "requirements": [
        {
          "id": "REQ-CRM-001",
          "area": "REQ-CRM",
          "number": "001",
          "description": "Unified customer profile across POS, web, events, and drops, keyed by email or phone with merge support.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/migrations/0013_customers.sql",
              "count": 3,
              "kind": "migration"
            },
            {
              "path": "packages/demo-data/src/packs/0009_customers.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/customers.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/account/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/auth.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/customer.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/customers.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/customers.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/customers.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 13,
          "lastCommit": {
            "sha": "320109d08de21ae1ab16db34dc22b966e6957f03",
            "shortSha": "320109d",
            "subject": "feat(admin): automate custom domain setup (REQ-ADM-575) (#375)",
            "author": "clubmmm",
            "date": "2026-04-27T17:03:27-06:00"
          },
          "commitCount": 3
        },
        {
          "id": "REQ-CRM-002",
          "area": "REQ-CRM",
          "number": "002",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/account/wishlist/actions.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0013_customers.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0015_customer_wishlist.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/events/src/domain/customerWishlist.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/customerPurchaseFields.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/(platform)/(auth)/layout.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/cart/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/cart/layout.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/layout.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/wishlist/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/robots.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/sitemap.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/AccountSubnav.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/WishlistHeart.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/accountMetadata.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/accountReads.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0014_customer_projects.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0018_customer_purchase_fields.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/customerWishlist.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/events.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/customerProjects.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/customerWishlist.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/customerProjects.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/customerWishlist.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 29,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-CRM-003",
          "area": "REQ-CRM",
          "number": "003",
          "description": "Loyalty program with configurable earn rules (per dollar, per yard, per event), tier ladder, and redemption against orders and tickets.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/migrations/0016_loyalty.sql",
              "count": 3,
              "kind": "migration"
            },
            {
              "path": "packages/events/src/domain/loyalty.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0028_customer_segments.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/demo-data/src/packs/0010_loyalty.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/customerSegments.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/(storefront)/cart/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/CheckoutWithNonce.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/core/src/loyalty/program.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0013_customers.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/customerSegments.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/events.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/customerSegments.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/customers.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/classes.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/customerLoyalty.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 22,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-CRM-004",
          "area": "REQ-CRM",
          "number": "004",
          "description": "Marketing segment builder with exportable lists and one-click audience handoff to the email/SMS provider.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/migrations/0028_customer_segments.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/testing/src/customerSegments.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "packages/db/src/migrations/0013_customers.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/customerSegments.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/customerSegments.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-CRM-005",
          "area": "REQ-CRM",
          "number": "005",
          "description": "Data subject requests (export and deletion) must be self-service per �26.",
          "status": "in-progress",
          "citations": [
            {
              "path": "packages/db/src/migrations/0013_customers.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0014_customer_projects.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0015_customer_wishlist.sql",
              "count": 1,
              "kind": "migration"
            }
          ],
          "citationCount": 3,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-CRM-502",
          "area": "REQ-CRM",
          "number": "502",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/migrations/0032_customer_segments_rule_json.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "apps/web/src/app/admin/crm/segments/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/customerSegmentsMembership.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-CRM-546",
          "area": "REQ-CRM",
          "number": "546",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/crm/contacts/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-CRM-501",
          "area": "REQ-CRM",
          "number": "501",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/loyalty/settings/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-CRM-500",
          "area": "REQ-CRM",
          "number": "500",
          "description": "/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.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/migrations/0018_customer_purchase_fields.sql",
              "count": 3,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0028_customer_segments.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/testing/src/customerPurchaseFields.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/customerSegments.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "packages/db/src/repositories/customerSegments.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/customerSegments.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 11,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-CRM-547",
          "area": "REQ-CRM",
          "number": "547",
          "description": "/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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-CRM-548",
          "area": "REQ-CRM",
          "number": "548",
          "description": "/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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-CRM-549",
          "area": "REQ-CRM",
          "number": "549",
          "description": "/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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-CRM-550",
          "area": "REQ-CRM",
          "number": "550",
          "description": "/admin/customers CSV export links and suggested download filenames must include active filter suffixes for search, tier, spend, and sort where present.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-CRM-551",
          "area": "REQ-CRM",
          "number": "551",
          "description": "/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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-CRM-552",
          "area": "REQ-CRM",
          "number": "552",
          "description": "/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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-CRM-553",
          "area": "REQ-CRM",
          "number": "553",
          "description": "/admin/customers/[id] must expose a copy-Clerk-user-id affordance beside the stored Clerk user id for staff support handoffs.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-CRM-554",
          "area": "REQ-CRM",
          "number": "554",
          "description": "/admin/customers/[id] must compute and display average order value from lifetime spend divided by order count, rendering zero for customers with no orders.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-CRM-555",
          "area": "REQ-CRM",
          "number": "555",
          "description": "/admin/customers/[id] must expose a print-summary control in the detail header for staff account reviews.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-STF",
      "label": "Staff & Multi-Store",
      "total": 4,
      "shipped": 1,
      "inProgress": 0,
      "notStarted": 3,
      "requirements": [
        {
          "id": "REQ-STF-001",
          "area": "REQ-STF",
          "number": "001",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/coupons/new/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/drops/new/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/events/new/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/events/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-STF-002",
          "area": "REQ-STF",
          "number": "002",
          "description": "Every state-changing action must be recorded in an immutable audit log with actor, before/after, and reason where applicable.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-STF-003",
          "area": "REQ-STF",
          "number": "003",
          "description": "Multi-location support with per-location inventory, staff assignments, and transfer workflow.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-STF-004",
          "area": "REQ-STF",
          "number": "004",
          "description": "Session and device management: list active sessions, revoke any session, enforce idle timeout, require step-up auth for sensitive actions.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-RPT",
      "label": "Reporting & Analytics",
      "total": 7,
      "shipped": 0,
      "inProgress": 0,
      "notStarted": 7,
      "requirements": [
        {
          "id": "REQ-RPT-001",
          "area": "REQ-RPT",
          "number": "001",
          "description": "Sales reports by yardage, SKU, collection, designer, channel, staff, day/hour, and customer segment.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-RPT-002",
          "area": "REQ-RPT",
          "number": "002",
          "description": "Inventory reports: stock levels, turnover, sell-through, remnant ratio, shrinkage, landed cost vs. margin.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-RPT-003",
          "area": "REQ-RPT",
          "number": "003",
          "description": "Event/drop reports: registrations, attendance, waitlist conversion, sell-through time, queue health.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-RPT-004",
          "area": "REQ-RPT",
          "number": "004",
          "description": "Influencer reports: revenue attribution, commission accrued, payout status, ROI by campaign.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-RPT-005",
          "area": "REQ-RPT",
          "number": "005",
          "description": "All reports must be exportable (CSV) and accessible via the API (�24).",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-RPT-006",
          "area": "REQ-RPT",
          "number": "006",
          "description": "Dashboards must render top-of-funnel KPIs (today's sales, open orders, active carts, drop status) with ??? 10s staleness.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-RPT-007",
          "area": "REQ-RPT",
          "number": "007",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-HDW",
      "label": "Hardware Ecosystem",
      "total": 5,
      "shipped": 1,
      "inProgress": 0,
      "notStarted": 4,
      "requirements": [
        {
          "id": "REQ-HDW-001",
          "area": "REQ-HDW",
          "number": "001",
          "description": "Primary POS station: iPad (14\" recommended), stand, receipt printer, cash drawer, Bluetooth scanner.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-HDW-002",
          "area": "REQ-HDW",
          "number": "002",
          "description": "Optional: customer-facing display, thermal label printer, scale (for by-weight items), payment terminal.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/hw/customerDisplay.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hw/physicalScale.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-HDW-003",
          "area": "REQ-HDW",
          "number": "003",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-HDW-004",
          "area": "REQ-HDW",
          "number": "004",
          "description": "Hardware pairing must be self-service via the POS app with diagnostics and firmware/driver update prompts.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-HDW-005",
          "area": "REQ-HDW",
          "number": "005",
          "description": "The platform must publish a certified-hardware compatibility matrix and test new devices before listing.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-API",
      "label": "Public API & Extensibility",
      "total": 5,
      "shipped": 0,
      "inProgress": 1,
      "notStarted": 4,
      "requirements": [
        {
          "id": "REQ-API-001",
          "area": "REQ-API",
          "number": "001",
          "description": "Publish a versioned public API covering inventory, orders, customers, events, tickets, drops, and influencer data with OpenAPI schemas.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-API-002",
          "area": "REQ-API",
          "number": "002",
          "description": "Authentication via scoped API keys and OAuth for installed apps.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-API-003",
          "area": "REQ-API",
          "number": "003",
          "description": "Webhooks for all significant events (order.created, cut.completed, drop.opened, ticket.checked_in, payout.paid), with signing, retries, and a dead-letter queue.",
          "status": "in-progress",
          "citations": [
            {
              "path": "packages/db/src/migrations/0008_webhook_delivery.sql",
              "count": 1,
              "kind": "migration"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-API-004",
          "area": "REQ-API",
          "number": "004",
          "description": "Rate limiting, quotas, and a developer portal with docs, sandbox, and usage analytics.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-API-005",
          "area": "REQ-API",
          "number": "005",
          "description": "A plugin/app model for third-party extensions with permission scopes and review.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-SEC",
      "label": "Security, Privacy & Compliance",
      "total": 17,
      "shipped": 6,
      "inProgress": 0,
      "notStarted": 11,
      "requirements": [
        {
          "id": "REQ-SEC-001",
          "area": "REQ-SEC",
          "number": "001",
          "description": "Authentication via a managed identity provider with MFA support; device-bound sessions for POS.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SEC-002",
          "area": "REQ-SEC",
          "number": "002",
          "description": "Role-based access control with tenant isolation enforced at both application and database (RLS) layers.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/safeEventSlug.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/wizard.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/(storefront)/cart/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/wizard/project/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/accountProjects.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/accountProjects.uuid.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/web/src/lib/cart.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/cartSanitize.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/publicSlugLoaders.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/web/src/lib/safeRedirectPath.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/safeUuidParam.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/wizard.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0001_init.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0004_cuts.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0008_webhook_delivery.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/testing/src/admin-lifecycle.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/bolt-status.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/catalog.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/contacts.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/coupons.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/customerMerge.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/customerNotificationPrefs.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/customerPurchaseFields.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/customerSegments.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/customerSegmentsMembership.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/customers.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/cuts.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/cycleCounts.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/dashboard.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/drops.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/event-outbox.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/events.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/orderLineItems.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/orders.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/outbox-relay.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/posDevices.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/purchaseOrders.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/receiving.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/returnAuthorizations.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/rls.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/skuImages.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/split-merge.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/storeNotesPinned.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/tenantIdentity.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 46,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SEC-003",
          "area": "REQ-SEC",
          "number": "003",
          "description": "Secrets must be stored in a managed secrets system; no secrets in code or environment dumps.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SEC-004",
          "area": "REQ-SEC",
          "number": "004",
          "description": "All traffic must be TLS 1.2+; HSTS enforced; HTTPS-only cookies; SameSite=Lax default.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/next.config.mjs",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SEC-005",
          "area": "REQ-SEC",
          "number": "005",
          "description": "Data encrypted at rest (AES-256 or provider-equivalent) and in transit.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SEC-006",
          "area": "REQ-SEC",
          "number": "006",
          "description": "Vulnerability management: dependency scanning in CI, periodic third-party penetration tests, bug-bounty contact.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SEC-007",
          "area": "REQ-SEC",
          "number": "007",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SEC-010",
          "area": "REQ-SEC",
          "number": "010",
          "description": "Card data handling must qualify for PCI DSS SAQ-A by using hosted iframes or tokenization; card PAN must never touch BoltToCart servers.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SEC-011",
          "area": "REQ-SEC",
          "number": "011",
          "description": "3-D Secure 2 must be supported; Stripe Radar-class fraud scoring (or equivalent) must be enabled for card-not-present.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SEC-012",
          "area": "REQ-SEC",
          "number": "012",
          "description": "Chargebacks must have a workflow that ties disputes to orders, evidence, and a response SLA.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SEC-020",
          "area": "REQ-SEC",
          "number": "020",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(platform)/(auth)/layout.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(platform)/privacy/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(platform)/terms/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/cart/layout.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/registered/layout.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/layout.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/audit/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/not-found.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/robots.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/sitemap.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/LegalFooterLinks.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/accountMetadata.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/eventOutbox.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/classes.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 14,
          "lastCommit": {
            "sha": "5b9ba36ed7839bc39d3d789454b574721ae1096d",
            "shortSha": "5b9ba36",
            "subject": "fix(web): resolve Clerk-mapped custom storefront domains (#373)",
            "author": "clubmmm",
            "date": "2026-04-27T15:22:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-SEC-021",
          "area": "REQ-SEC",
          "number": "021",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/events/src/domain/customers.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/audit/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SEC-022",
          "area": "REQ-SEC",
          "number": "022",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/components/CookieBanner.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(platform)/cookies/CookieSettingsForm.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/CookieBannerGate.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/LegalFooterLinks.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/cookieConsentShared.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/productAnalyticsConsent.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SEC-030",
          "area": "REQ-SEC",
          "number": "030",
          "description": "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).",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SEC-031",
          "area": "REQ-SEC",
          "number": "031",
          "description": "For international expansion, the system must integrate a tax engine capable of VAT/GST (deferred to v1+).",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SEC-040",
          "area": "REQ-SEC",
          "number": "040",
          "description": "All customer-facing surfaces must meet WCAG 2.2 AA; automated checks in CI and periodic manual audits.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(platform)/accessibility/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/LegalFooterLinks.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/StorefrontShell.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SEC-041",
          "area": "REQ-SEC",
          "number": "041",
          "description": "POS must be usable with VoiceOver on iPad and include large-text and high-contrast modes.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-ANL",
      "label": "Analytics & Telemetry",
      "total": 23,
      "shipped": 5,
      "inProgress": 1,
      "notStarted": 17,
      "requirements": [
        {
          "id": "REQ-ANL-001",
          "area": "REQ-ANL",
          "number": "001",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0010_loyalty.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0002_event_outbox.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0003_receiving.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0004_cuts.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0008_webhook_delivery.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0009_bolt_lineage.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0015_customer_wishlist.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0016_loyalty.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/schema/eventOutbox.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0007_drops.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0008_events.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0009_customers.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/catalog.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/customerMerge.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/customers.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/cuts.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/dashboard.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/drops.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/event-outbox.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/events.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/outbox-relay.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/receiving.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/skuImages.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/split-merge.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 25,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ANL-002",
          "area": "REQ-ANL",
          "number": "002",
          "description": "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;…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/core/src/telemetry/types.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ANL-003",
          "area": "REQ-ANL",
          "number": "003",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/flow/receiptDelivery.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/audit/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/defineEvent.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/customerProjects.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/storeNotes.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ANL-004",
          "area": "REQ-ANL",
          "number": "004",
          "description": "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.",
          "status": "in-progress",
          "citations": [
            {
              "path": "packages/db/src/migrations/0002_event_outbox.sql",
              "count": 1,
              "kind": "migration"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ANL-020",
          "area": "REQ-ANL",
          "number": "020",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/outbox-relay.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/roadmap.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "packages/db/src/migrations/0008_webhook_delivery.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/schema/eventOutbox.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/outbox-relay.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/env.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/registry/defineJob.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/sinks/httpWebhookSink.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/outbox-relay.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/admin/webhooks/WebhookManager.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/webhooks/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/webhooks/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/eventOutbox.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/webhookEndpoints.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/webhookEndpoints.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 21,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ANL-010",
          "area": "REQ-ANL",
          "number": "010",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ANL-011",
          "area": "REQ-ANL",
          "number": "011",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ANL-012",
          "area": "REQ-ANL",
          "number": "012",
          "description": "Retention cohorts computable by store activation month (tenants) and by end-customer first-purchase month.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ANL-013",
          "area": "REQ-ANL",
          "number": "013",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ANL-014",
          "area": "REQ-ANL",
          "number": "014",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ANL-021",
          "area": "REQ-ANL",
          "number": "021",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/events/src/domain/pos.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ANL-022",
          "area": "REQ-ANL",
          "number": "022",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ANL-023",
          "area": "REQ-ANL",
          "number": "023",
          "description": "RUM data is sliceable by tenant, route, release, device class, connection class, A/B experiment variant.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ANL-030",
          "area": "REQ-ANL",
          "number": "030",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ANL-031",
          "area": "REQ-ANL",
          "number": "031",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ANL-032",
          "area": "REQ-ANL",
          "number": "032",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ANL-040",
          "area": "REQ-ANL",
          "number": "040",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ANL-041",
          "area": "REQ-ANL",
          "number": "041",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ANL-042",
          "area": "REQ-ANL",
          "number": "042",
          "description": "Every major feature ships with at least one dashboard tile ??? this is a Definition-of-Done checklist item.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ANL-043",
          "area": "REQ-ANL",
          "number": "043",
          "description": "Dashboards render exclusively from the semantic layer (REQ-ANL-031); bespoke queries against raw event tables are rejected in review.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ANL-050",
          "area": "REQ-ANL",
          "number": "050",
          "description": "Named SLIs per SLO target in �28. At minimum:",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ANL-051",
          "area": "REQ-ANL",
          "number": "051",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ANL-052",
          "area": "REQ-ANL",
          "number": "052",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-OBS",
      "label": "Observability & Disaster Recovery",
      "total": 8,
      "shipped": 0,
      "inProgress": 0,
      "notStarted": 8,
      "requirements": [
        {
          "id": "REQ-OBS-001",
          "area": "REQ-OBS",
          "number": "001",
          "description": "Centralized structured logging with per-tenant tagging and the standard context object from REQ-ANL-002; logs retained ??? 30 days hot, ??? 1 year cold.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-OBS-002",
          "area": "REQ-OBS",
          "number": "002",
          "description": "Error tracking with per-release and per-tenant slicing; alerting on new/regressed errors.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-OBS-003",
          "area": "REQ-OBS",
          "number": "003",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-OBS-004",
          "area": "REQ-OBS",
          "number": "004",
          "description": "Public status page fed by real probes, with scheduled-maintenance windows.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-OBS-005",
          "area": "REQ-OBS",
          "number": "005",
          "description": "RPO (recovery point objective) ??? 5 minutes for transactional data via point-in-time recovery.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-OBS-006",
          "area": "REQ-OBS",
          "number": "006",
          "description": "RTO (recovery time objective) ??? 1 hour for the primary region; ??? 4 hours for full regional failover.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-OBS-007",
          "area": "REQ-OBS",
          "number": "007",
          "description": "Backups retained ??? 30 days with quarterly restore rehearsals.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-OBS-008",
          "area": "REQ-OBS",
          "number": "008",
          "description": "Incident runbooks and on-call rotation; customer-impacting incidents must produce a public postmortem within 5 business days.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-UX",
      "label": "UX Principles",
      "total": 36,
      "shipped": 24,
      "inProgress": 0,
      "notStarted": 12,
      "requirements": [
        {
          "id": "REQ-UX-001",
          "area": "REQ-UX",
          "number": "001",
          "description": "Fast checkout ??? p95 cart-to-paid ??? 10 seconds on reference iPad hardware for a typical 3-line fabric sale.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-UX-002",
          "area": "REQ-UX",
          "number": "002",
          "description": "Minimal-click design: core POS actions reachable within 2 taps from the register home.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-UX-003",
          "area": "REQ-UX",
          "number": "003",
          "description": "Tablet-first and visual-first design for the POS; responsive, mobile-first for storefronts.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/cart/loading.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/drops/loading.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/instructors/loading.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/loading.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/[slug]/loading.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/loading.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/not-found.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/ClearCartButton.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/ProductShareButton.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/shopBackLink.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 11,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 3
        },
        {
          "id": "REQ-UX-004",
          "area": "REQ-UX",
          "number": "004",
          "description": "Accessibility target per �25.5.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(platform)/accessibility/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-UX-005",
          "area": "REQ-UX",
          "number": "005",
          "description": "Storefront performance budget: LCP ??? 2.0s, INP ??? 200ms, CLS ??? 0.1 at p75 on 4G reference devices (matching Core Web Vitals \"Good\").",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-UX-006",
          "area": "REQ-UX",
          "number": "006",
          "description": "Internationalization: v1 US/English-only; i18n scaffolding must be present so locales and currencies can be added without a re-architecture.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/formattingLocale.ts",
              "count": 10,
              "kind": "production"
            },
            {
              "path": "apps/web/src/i18n/config.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/web/src/i18n/config.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/homeStructuredData.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/socialMetadata.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/core/src/money/currency.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 16,
          "lastCommit": {
            "sha": "966e0b37c58d64fa6b3da6e8bc456a33d66cdd7e",
            "shortSha": "966e0b3",
            "subject": "fix(design-contests): honor contest timezones",
            "author": "clubmmm",
            "date": "2026-04-27T13:11:41-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-UX-510",
          "area": "REQ-UX",
          "number": "510",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/globals.css",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-UX-511",
          "area": "REQ-UX",
          "number": "511",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-UX-513",
          "area": "REQ-UX",
          "number": "513",
          "description": "@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'…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-UX-515",
          "area": "REQ-UX",
          "number": "515",
          "description": ".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…",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-UX-516",
          "area": "REQ-UX",
          "number": "516",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-UX-517",
          "area": "REQ-UX",
          "number": "517",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-UX-512",
          "area": "REQ-UX",
          "number": "512",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-UX-539",
          "area": "REQ-UX",
          "number": "539",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/globals.css",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-UX-540",
          "area": "REQ-UX",
          "number": "540",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-UX-541",
          "area": "REQ-UX",
          "number": "541",
          "description": "@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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/globals.css",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-UX-542",
          "area": "REQ-UX",
          "number": "542",
          "description": "@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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/globals.css",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-UX-543",
          "area": "REQ-UX",
          "number": "543",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-UX-549",
          "area": "REQ-UX",
          "number": "549",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/globals.css",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-UX-550",
          "area": "REQ-UX",
          "number": "550",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-UX-548",
          "area": "REQ-UX",
          "number": "548",
          "description": "@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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/globals.css",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-UX-547",
          "area": "REQ-UX",
          "number": "547",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-UX-546",
          "area": "REQ-UX",
          "number": "546",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/globals.css",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-UX-545",
          "area": "REQ-UX",
          "number": "545",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/globals.css",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/QuiltVisualizer.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-UX-544",
          "area": "REQ-UX",
          "number": "544",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/cart/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/globals.css",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-UX-500",
          "area": "REQ-UX",
          "number": "500",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/globals.css",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-UX-501",
          "area": "REQ-UX",
          "number": "501",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/globals.css",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-UX-502",
          "area": "REQ-UX",
          "number": "502",
          "description": "@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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/globals.css",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-UX-503",
          "area": "REQ-UX",
          "number": "503",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/globals.css",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-UX-509",
          "area": "REQ-UX",
          "number": "509",
          "description": "@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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/globals.css",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-UX-508",
          "area": "REQ-UX",
          "number": "508",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-UX-507",
          "area": "REQ-UX",
          "number": "507",
          "description": "@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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/globals.css",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-UX-506",
          "area": "REQ-UX",
          "number": "506",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/globals.css",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-UX-505",
          "area": "REQ-UX",
          "number": "505",
          "description": "@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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/globals.css",
              "count": 3,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-UX-504",
          "area": "REQ-UX",
          "number": "504",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/components/StorefrontFilters.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-UX-514",
          "area": "REQ-UX",
          "number": "514",
          "description": "[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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/globals.css",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        }
      ]
    },
    {
      "area": "REQ-NFR",
      "label": "Non-functional Requirements",
      "total": 9,
      "shipped": 2,
      "inProgress": 0,
      "notStarted": 7,
      "requirements": [
        {
          "id": "REQ-NFR-001",
          "area": "REQ-NFR",
          "number": "001",
          "description": "Availability: 99.9% monthly for customer-facing APIs and storefronts; 99.95% for POS sales path.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-NFR-002",
          "area": "REQ-NFR",
          "number": "002",
          "description": "POS latency: p95 ??? 400ms end-to-end for scan ??? add line and tender ??? receipt operations on LAN; app remains fully functional offline per �17.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-NFR-003",
          "area": "REQ-NFR",
          "number": "003",
          "description": "Storefront latency: p95 TTFB ??? 300ms for cached product pages at edge; p95 ??? 800ms for dynamic pages.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/components/ProductImage.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-NFR-004",
          "area": "REQ-NFR",
          "number": "004",
          "description": "Inventory consistency: no oversells under concurrent access; serializable isolation for bolt cuts.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/migrations/0004_cuts.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/events.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/bolt-status.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/cuts.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/events.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/rls.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-NFR-005",
          "area": "REQ-NFR",
          "number": "005",
          "description": "Drop throughput: sustain ??? 200 orders/minute per store at launch with a design path to 2,000 orders/minute per store.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-NFR-006",
          "area": "REQ-NFR",
          "number": "006",
          "description": "Scale targets (v1): 1,000 stores, 10M SKUs across the platform, 100k concurrent storefront users, 10k concurrent POS devices.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-NFR-007",
          "area": "REQ-NFR",
          "number": "007",
          "description": "Data consistency model: strong consistency for inventory and payments; eventual consistency (??? 2s p95) acceptable for analytics and non-transactional reads.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-NFR-500",
          "area": "REQ-NFR",
          "number": "500",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-NFR-501",
          "area": "REQ-NFR",
          "number": "501",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-ARC",
      "label": "System Architecture & Infrastructure",
      "total": 50,
      "shipped": 18,
      "inProgress": 4,
      "notStarted": 28,
      "requirements": [
        {
          "id": "REQ-ARC-001",
          "area": "REQ-ARC",
          "number": "001",
          "description": "Capability-first: requirements describe capabilities and constraints; vendors are chosen to satisfy them and recorded in the RFC log (�32).",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-002",
          "area": "REQ-ARC",
          "number": "002",
          "description": "Single inventory source of truth: all channels read/write through one inventory service with server-authoritative cuts.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-003",
          "area": "REQ-ARC",
          "number": "003",
          "description": "Edge-first reads, region-anchored writes: storefront reads can be served from the edge; writes (cuts, payments, bookings) anchor to the primary region.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-004",
          "area": "REQ-ARC",
          "number": "004",
          "description": "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.",
          "status": "in-progress",
          "citations": [
            {
              "path": "packages/db/src/migrations/0001_init.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0004_cuts.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0006_demo_data_packs.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0008_webhook_delivery.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/demo-data/src/apply.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/admin-lifecycle.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/catalog.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/contacts.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/coupons.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/customerNotificationPrefs.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/customerSegmentsMembership.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/customers.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/cuts.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/cycleCounts.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/dashboard.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/drops.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/events.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/orderLineItems.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/outbox-relay.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/posDevices.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/purchaseOrders.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/receiving.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/rls.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/skuImages.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/testing/src/split-merge.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 25,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-005",
          "area": "REQ-ARC",
          "number": "005",
          "description": "Open standards: prefer OpenAPI, AsyncAPI, OpenTelemetry, and portable storage formats so the vendor surface area stays replaceable.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-010",
          "area": "REQ-ARC",
          "number": "010",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-011",
          "area": "REQ-ARC",
          "number": "011",
          "description": "Must provide accessible primitives (WCAG 2.2 AA), a tokenized theming system for per-store branding, and tablet-optimized inputs.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-012",
          "area": "REQ-ARC",
          "number": "012",
          "description": "Must support end-user auth, organization/tenant primitives, staff RBAC, MFA, session management, SAML/SCIM for enterprise stores, and device-bound sessions for POS.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-013",
          "area": "REQ-ARC",
          "number": "013",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-014",
          "area": "REQ-ARC",
          "number": "014",
          "description": "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.",
          "status": "in-progress",
          "citations": [
            {
              "path": "packages/db/src/migrations/0001_init.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0007_grant_app_role_membership.sql",
              "count": 1,
              "kind": "migration"
            }
          ],
          "citationCount": 2,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-015",
          "area": "REQ-ARC",
          "number": "015",
          "description": "Must provide compile-time-typed queries, a migration tool, and an escape hatch to raw SQL.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-016",
          "area": "REQ-ARC",
          "number": "016",
          "description": "Must provide sub-ms reads, atomic counters, sorted sets, pub/sub, and rate-limit primitives usable from edge and node runtimes.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-017",
          "area": "REQ-ARC",
          "number": "017",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-018",
          "area": "REQ-ARC",
          "number": "018",
          "description": "Must deliver ordered per-channel messages to ??? 100k concurrent clients per region with < 500ms p95 fan-out, authenticated per-tenant channels, and presence.",
          "status": "in-progress",
          "citations": [
            {
              "path": "apps/web/src/lib/roadmap.test.ts",
              "count": 2,
              "kind": "test"
            }
          ],
          "citationCount": 2,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-019",
          "area": "REQ-ARC",
          "number": "019",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-020",
          "area": "REQ-ARC",
          "number": "020",
          "description": "Must reach certified payments SDKs, Bluetooth HID, ESC/POS printing, and offline SQLite.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-021",
          "area": "REQ-ARC",
          "number": "021",
          "description": "Must provide faceted search, typo-tolerance, synonyms, per-tenant index isolation, and vector search fused with keyword search. Sub-200ms p95 for storefront queries.",
          "status": "in-progress",
          "citations": [
            {
              "path": "apps/web/src/lib/roadmap.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-022",
          "area": "REQ-ARC",
          "number": "022",
          "description": "Must store originals, produce derivatives on demand (thumbnail/card/swatch/zoom), extract dominant colors, serve via CDN, and support signed URLs for private assets.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-023",
          "area": "REQ-ARC",
          "number": "023",
          "description": "Must support per-tenant sender identities, DKIM/SPF/DMARC, templated messages (React Email-class), deliverability analytics, suppression lists, and webhooks.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/actions.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ARC-024",
          "area": "REQ-ARC",
          "number": "024",
          "description": "Must support toll-free or 10DLC US sending with consent capture and unsubscribe, plus APNs/FCM push.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-025",
          "area": "REQ-ARC",
          "number": "025",
          "description": "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).",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-026",
          "area": "REQ-ARC",
          "number": "026",
          "description": "Must handle U.S. destination-based sales tax with nexus rules, exemption certificates, and per-line taxability; VAT/GST for international later.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-027",
          "area": "REQ-ARC",
          "number": "027",
          "description": "Must return carrier-rated rates at checkout, purchase labels, and emit tracking events.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-028",
          "area": "REQ-ARC",
          "number": "028",
          "description": "Asynchronous LLM content pre-processing (titles, summaries, taxonomy generation, alt text, embeddings) ??? batch, not user-blocking, tolerant of seconds-to-minutes latency.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-028.2",
          "area": "REQ-ARC",
          "number": "028.2",
          "description": "Interactive quilt pattern preview (�15) ??? user-facing, sub-frame updates as fabrics swap.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/visualizer/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ARC-028.3",
          "area": "REQ-ARC",
          "number": "028.3",
          "description": "High-quality shareable renders / generative imagery ??? for marketing images, shareable \"my quilt\" social cards, and future AI features on the roadmap.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/core/src/quilt/patterns.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ARC-029",
          "area": "REQ-ARC",
          "number": "029",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-029.1",
          "area": "REQ-ARC",
          "number": "029.1",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/productAnalyticsConsent.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/core/src/telemetry/types.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0002_event_outbox.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/migrations/0006_demo_data_packs.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/testing/src/event-outbox.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ARC-029.2",
          "area": "REQ-ARC",
          "number": "029.2",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-030",
          "area": "REQ-ARC",
          "number": "030",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-031",
          "area": "REQ-ARC",
          "number": "031",
          "description": "Must support per-tenant flag overrides, gradual rollouts, targeted experiments, and SDKs for web, server, and iPad.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-031.1",
          "area": "REQ-ARC",
          "number": "031.1",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-032",
          "area": "REQ-ARC",
          "number": "032",
          "description": "Must support a page builder or headless content model per tenant, preview workflow, and CDN-friendly delivery.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-033",
          "area": "REQ-ARC",
          "number": "033",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/env.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "320109d08de21ae1ab16db34dc22b966e6957f03",
            "shortSha": "320109d",
            "subject": "feat(admin): automate custom domain setup (REQ-ADM-575) (#375)",
            "author": "clubmmm",
            "date": "2026-04-27T17:03:27-06:00"
          },
          "commitCount": 3
        },
        {
          "id": "REQ-ARC-036",
          "area": "REQ-ARC",
          "number": "036",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/db.ts",
              "count": 5,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/publicSite.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/sitemap.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/auth.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/homeStructuredData.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/tenantHost.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/middleware.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(platform)/demo/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(platform)/layout.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(platform)/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/cart/layout.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/layout.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/not-found.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/robots.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/PlatformShell.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/StorefrontShell.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/env.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/clerkTenantLookup.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/currentTenant.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/homeStructuredData.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 31,
          "lastCommit": {
            "sha": "6d49c2542e759e96d1e83a74301367659608cf92",
            "shortSha": "6d49c25",
            "subject": "fix(web): route tenant domain roots to storefront (REQ-ARC-039) (#377)",
            "author": "clubmmm",
            "date": "2026-04-27T18:18:00-06:00"
          },
          "commitCount": 7
        },
        {
          "id": "REQ-ARC-037",
          "area": "REQ-ARC",
          "number": "037",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/auth.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "320109d08de21ae1ab16db34dc22b966e6957f03",
            "shortSha": "320109d",
            "subject": "feat(admin): automate custom domain setup (REQ-ADM-575) (#375)",
            "author": "clubmmm",
            "date": "2026-04-27T17:03:27-06:00"
          },
          "commitCount": 3
        },
        {
          "id": "REQ-ARC-038",
          "area": "REQ-ARC",
          "number": "038",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/tenantHost.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "6d49c2542e759e96d1e83a74301367659608cf92",
            "shortSha": "6d49c25",
            "subject": "fix(web): route tenant domain roots to storefront (REQ-ARC-039) (#377)",
            "author": "clubmmm",
            "date": "2026-04-27T18:18:00-06:00"
          },
          "commitCount": 5
        },
        {
          "id": "REQ-ARC-039",
          "area": "REQ-ARC",
          "number": "039",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-034",
          "area": "REQ-ARC",
          "number": "034",
          "description": "Every PR must produce a deployable preview with an isolated database branch; secrets must be centrally managed and rotated.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-500",
          "area": "REQ-ARC",
          "number": "500",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/migrations/0021_support_email.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/schema/stores.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-ARC-501",
          "area": "REQ-ARC",
          "number": "501",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/migrations/0022_cut_increment_columns.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/schema/stores.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/core/src/yardage/index.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/stores.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-ARC-502",
          "area": "REQ-ARC",
          "number": "502",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/events/src/domain/bolts.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/registry.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ARC-503",
          "area": "REQ-ARC",
          "number": "503",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/testing/src/customerNotificationPrefs.test.ts",
              "count": 3,
              "kind": "test"
            },
            {
              "path": "packages/db/src/migrations/0023_customer_notification_prefs.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/customerNotificationPrefs.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/customerNotificationPrefs.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/customers.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/registry.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 9,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ARC-504",
          "area": "REQ-ARC",
          "number": "504",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ARC-510",
          "area": "REQ-ARC",
          "number": "510",
          "description": "Event catalog: add csvImportCompleted to packages/events/src/domain/jobs.ts.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/events/src/registry.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/csvImportJob.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/jobs.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/registry.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-ARC-515",
          "area": "REQ-ARC",
          "number": "515",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/events/src/domain/bolts.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/orders.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/events/src/registry.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/orderRefundEmailJob.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/pos.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/registry.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 9,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-ARC-514",
          "area": "REQ-ARC",
          "number": "514",
          "description": "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?,…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/migrations/0027_customer_phone_marketing.sql",
              "count": 3,
              "kind": "migration"
            },
            {
              "path": "apps/jobs/src/workers/customerReactivationJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/customers.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/profile/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/customers.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 9,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ARC-513",
          "area": "REQ-ARC",
          "number": "513",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/testing/src/posDevices.test.ts",
              "count": 3,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/flow/posDeviceRegistration.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0026_pos_devices.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/posDevices.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/posDevices.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 11,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ARC-512",
          "area": "REQ-ARC",
          "number": "512",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/testing/src/cycleCounts.test.ts",
              "count": 3,
              "kind": "test"
            },
            {
              "path": "packages/db/src/migrations/0025_cycle_counts.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/cycleCounts.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/cycleCounts.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/cycleCountSession.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 10,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ARC-511",
          "area": "REQ-ARC",
          "number": "511",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/schema/coupons.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/coupons.test.ts",
              "count": 3,
              "kind": "test"
            },
            {
              "path": "packages/db/src/migrations/0024_coupons.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/coupons.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 10,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        }
      ]
    },
    {
      "area": "REQ-MON",
      "label": "Monetization",
      "total": 4,
      "shipped": 0,
      "inProgress": 1,
      "notStarted": 3,
      "requirements": [
        {
          "id": "REQ-MON-001",
          "area": "REQ-MON",
          "number": "001",
          "description": "Subscription plans: Starter, Growth, Pro; differentiated by transaction volume, locations, staff seats, drops, and analytics features.",
          "status": "in-progress",
          "citations": [
            {
              "path": "apps/web/src/lib/roadmap.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-MON-002",
          "area": "REQ-MON",
          "number": "002",
          "description": "Add-ons: marketing tools (advanced segmentation, automations), advanced analytics, additional locations, priority support.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-MON-003",
          "area": "REQ-MON",
          "number": "003",
          "description": "Optional transaction-fee component on card processing, disclosed transparently.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-MON-004",
          "area": "REQ-MON",
          "number": "004",
          "description": "Free trial and self-service upgrade/downgrade with proration; dunning for failed payments.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-DMO",
      "label": "Reference Store & Demo",
      "total": 5,
      "shipped": 3,
      "inProgress": 0,
      "notStarted": 2,
      "requirements": [
        {
          "id": "REQ-DMO-001",
          "area": "REQ-DMO",
          "number": "001",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/roadmap.test.ts",
              "count": 3,
              "kind": "test"
            },
            {
              "path": "packages/demo-data/src/apply.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "packages/demo-data/src/packs/0011_storefront_images.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/scripts/generateFabricImages.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/env.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0006_demo_data_packs.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/stores.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/stores.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0001_bootstrap.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0002_expanded_inventory.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0006_storefront_catalog.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0007_drops.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0008_events.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0009_customers.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 18,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 4
        },
        {
          "id": "REQ-DMO-002",
          "area": "REQ-DMO",
          "number": "002",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/middleware.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(platform)/demo/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(platform)/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/layout.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/api/demo/enter/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/auth.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0006_demo_data_packs.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/demo-data/src/apply.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/demo-data/src/clerkBootstrap.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 10,
          "lastCommit": {
            "sha": "6d49c2542e759e96d1e83a74301367659608cf92",
            "shortSha": "6d49c25",
            "subject": "fix(web): route tenant domain roots to storefront (REQ-ARC-039) (#377)",
            "author": "clubmmm",
            "date": "2026-04-27T18:18:00-06:00"
          },
          "commitCount": 7
        },
        {
          "id": "REQ-DMO-003",
          "area": "REQ-DMO",
          "number": "003",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/demo-seed.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0010_loyalty.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0012_rain_migration_admin.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/env.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/registry/defineJob.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/outbox-relay.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0006_demo_data_packs.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/demo-data/src/apply.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/demo-data/src/packs/0002_expanded_inventory.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0003_lifecycle_transitions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0004_admin_damaged_bolt.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0005_bolt_split_and_merge.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0006_storefront_catalog.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0007_drops.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0008_events.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0009_customers.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0011_storefront_images.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0014_storefront_theme.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 23,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-DMO-004",
          "area": "REQ-DMO",
          "number": "004",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-DMO-005",
          "area": "REQ-DMO",
          "number": "005",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-WIZ",
      "label": "Guided Shopping Wizard",
      "total": 21,
      "shipped": 21,
      "inProgress": 0,
      "notStarted": 0,
      "requirements": [
        {
          "id": "REQ-WIZ-518",
          "area": "REQ-WIZ",
          "number": "518",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/wizard/projects/[id]/opengraph-image.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-WIZ-519",
          "area": "REQ-WIZ",
          "number": "519",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/wizard/opengraph-image.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/wizard/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-WIZ-520",
          "area": "REQ-WIZ",
          "number": "520",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/wizard/project/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/wizard/project/projectFlow.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-WIZ-521",
          "area": "REQ-WIZ",
          "number": "521",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/wizard/project/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/wizard/project/projectFlow.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-WIZ-517",
          "area": "REQ-WIZ",
          "number": "517",
          "description": "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).",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/wizard/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-WIZ-500",
          "area": "REQ-WIZ",
          "number": "500",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/wizard/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/wizard/opengraph-image.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/wizard/projects/[id]/opengraph-image.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-WIZ-501",
          "area": "REQ-WIZ",
          "number": "501",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/wizard/project/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-WIZ-502",
          "area": "REQ-WIZ",
          "number": "502",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/wizard.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/wizard/project/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/wizard.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/(storefront)/wizard/layout.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/robots.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/env.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/wizardStateCookie.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 11,
          "lastCommit": {
            "sha": "320109d08de21ae1ab16db34dc22b966e6957f03",
            "shortSha": "320109d",
            "subject": "feat(admin): automate custom domain setup (REQ-ADM-575) (#375)",
            "author": "clubmmm",
            "date": "2026-04-27T17:03:27-06:00"
          },
          "commitCount": 3
        },
        {
          "id": "REQ-WIZ-503",
          "area": "REQ-WIZ",
          "number": "503",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/wizard/layout.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/robots.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-WIZ-504",
          "area": "REQ-WIZ",
          "number": "504",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/wizard/project/page.tsx",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "packages/core/src/quilt/patterns.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/wizard/_lib/patterns.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 8,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-WIZ-505",
          "area": "REQ-WIZ",
          "number": "505",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/wizard/project/page.tsx",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/wizard/_lib/patterns.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-WIZ-506",
          "area": "REQ-WIZ",
          "number": "506",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/wizard/project/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-WIZ-507",
          "area": "REQ-WIZ",
          "number": "507",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/wizard/project/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/wizard.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-WIZ-508",
          "area": "REQ-WIZ",
          "number": "508",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/wizard/project/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/wizard.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-WIZ-509",
          "area": "REQ-WIZ",
          "number": "509",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/wizard/project/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-WIZ-510",
          "area": "REQ-WIZ",
          "number": "510",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/wizard/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-WIZ-511",
          "area": "REQ-WIZ",
          "number": "511",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/wizard/project/page.tsx",
              "count": 4,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-WIZ-512",
          "area": "REQ-WIZ",
          "number": "512",
          "description": "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).",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/wizard/project/print.module.css",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-WIZ-513",
          "area": "REQ-WIZ",
          "number": "513",
          "description": "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).",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/wizard/page.tsx",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/wizard/_components/WizardRecentPatternsClient.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-WIZ-514",
          "area": "REQ-WIZ",
          "number": "514",
          "description": "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).",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/projects/shared/[slug]/opengraph-image.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/projects/shared/[slug]/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-WIZ-515",
          "area": "REQ-WIZ",
          "number": "515",
          "description": "The /wizard/project?step=review renders a WizardShareSection (URL + CopyTextButton) below the Save card; print:hidden (REQ-WIZ-515).",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/wizard/project/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        }
      ]
    },
    {
      "area": "REQ-ADM",
      "label": "Admin Operations",
      "total": 67,
      "shipped": 40,
      "inProgress": 0,
      "notStarted": 27,
      "requirements": [
        {
          "id": "REQ-ADM-500",
          "area": "REQ-ADM",
          "number": "500",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/_lib/dateRange.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/audit/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/_components/FilterChipRow.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/audit/_lib/presets.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/audit/audit.csv/route.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 8,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-502",
          "area": "REQ-ADM",
          "number": "502",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/audit/[id]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/audit/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-501",
          "area": "REQ-ADM",
          "number": "501",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/audit/page.tsx",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/audit/_actions/presets.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/audit/_components/PresetsToolbar.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/audit/_lib/presets.server.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/audit/_lib/presets.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-503",
          "area": "REQ-ADM",
          "number": "503",
          "description": "/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=…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/_lib/dateRange.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/audit/page.tsx",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/audit/_lib/presets.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/audit/audit.csv/route.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 8,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-506",
          "area": "REQ-ADM",
          "number": "506",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/receiving/page.tsx",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-505",
          "area": "REQ-ADM",
          "number": "505",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/events/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-504",
          "area": "REQ-ADM",
          "number": "504",
          "description": "/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 |…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/_components/FilterChipRow.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/_lib/dateRange.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/audit/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/drops/drops.csv/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/drops/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-509",
          "area": "REQ-ADM",
          "number": "509",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/bolts/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-510",
          "area": "REQ-ADM",
          "number": "510",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/webhooks/actions.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/audit/[id]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/webhooks/RetryDeadLetterButton.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/webhooks/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/eventOutbox.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-538",
          "area": "REQ-ADM",
          "number": "538",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/migrations/0029_purchase_orders.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/purchaseOrders.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/purchaseOrders.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-539",
          "area": "REQ-ADM",
          "number": "539",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/inventory/cycle-counts/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/inventory/cycle-counts/[id]/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-545",
          "area": "REQ-ADM",
          "number": "545",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/migrations/0033_store_notes_pinned.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/storeNotes.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/storeNotesPinned.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-543",
          "area": "REQ-ADM",
          "number": "543",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-544",
          "area": "REQ-ADM",
          "number": "544",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/orders/[id]/actions.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-542",
          "area": "REQ-ADM",
          "number": "542",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/inventory/page.tsx",
              "count": 4,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-541",
          "area": "REQ-ADM",
          "number": "541",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/loyalty/settings/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/settings/CutSettingsForm.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-540",
          "area": "REQ-ADM",
          "number": "540",
          "description": "/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;…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/coupons/[id]/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/pos-devices/[id]/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-537",
          "area": "REQ-ADM",
          "number": "537",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/events/[id]/edit/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/events/[id]/edit/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/events/[id]/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-536",
          "area": "REQ-ADM",
          "number": "536",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/drops/[slug]/edit/page.tsx",
              "count": 3,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-535",
          "area": "REQ-ADM",
          "number": "535",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/bolts/page.tsx",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/store-notes/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/store-notes/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-534",
          "area": "REQ-ADM",
          "number": "534",
          "description": "/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]),…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/customers/[id]/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/customers/_components/OrdersMiniTable.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-533",
          "area": "REQ-ADM",
          "number": "533",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/orders/orders.csv/route.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/orders/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-532",
          "area": "REQ-ADM",
          "number": "532",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/orders/page.tsx",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/orders/orders.csv/route.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/coupons.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/coupons/new/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/coupons/new/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 9,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-531",
          "area": "REQ-ADM",
          "number": "531",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/webhooks/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-ADM-530",
          "area": "REQ-ADM",
          "number": "530",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/audit/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-526",
          "area": "REQ-ADM",
          "number": "526",
          "description": "/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.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/repositories/customers.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/customerMerge.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/admin/customers/[id]/merge/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/customers.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-525",
          "area": "REQ-ADM",
          "number": "525",
          "description": "/admin/coupons/new three-step create-campaign wizard shell (Details -> Code generation -> Review & launch). Honest placeholder pending schema.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-524",
          "area": "REQ-ADM",
          "number": "524",
          "description": "/admin/coupons coupon campaign list. Honest placeholder table shell with campaign/discount/codes/redemptions/expires/status columns.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/coupons/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/orders/[id]/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-523",
          "area": "REQ-ADM",
          "number": "523",
          "description": "/admin/pos-devices device management table shell. Pending pos_devices schema + Stripe Terminal Reader API integration.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-522",
          "area": "REQ-ADM",
          "number": "522",
          "description": "/admin/inventory/cycle-counts/new three-step wizard shell. Honest placeholder pending packages/db cycle-count schema.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/inventory/cycle-counts/new/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-521",
          "area": "REQ-ADM",
          "number": "521",
          "description": "/admin/inventory/cycle-counts cycle-count session list. Honest placeholder with '+ New count' CTA and empty state.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/inventory/cycle-counts/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-520",
          "area": "REQ-ADM",
          "number": "520",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/orders/[id]/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-519",
          "area": "REQ-ADM",
          "number": "519",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/orders/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-518",
          "area": "REQ-ADM",
          "number": "518",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/customers/[id]/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-517",
          "area": "REQ-ADM",
          "number": "517",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/customers/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/core/src/yardage/index.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0022_cut_increment_columns.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/stores.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/stores.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-ADM-516",
          "area": "REQ-ADM",
          "number": "516",
          "description": "/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),…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/schema/stores.ts",
              "count": 5,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0020_tenant_identity_fields.sql",
              "count": 3,
              "kind": "migration"
            },
            {
              "path": "apps/web/src/app/admin/settings/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/tenantIdentity.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/admin/settings/GeneralInfoForm.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/settings/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0021_support_email.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/stores.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 16,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 4
        },
        {
          "id": "REQ-ADM-515",
          "area": "REQ-ADM",
          "number": "515",
          "description": "/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> / <…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/settings/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0020_tenant_identity_fields.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/ui/src/Tabs.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 4
        },
        {
          "id": "REQ-ADM-547",
          "area": "REQ-ADM",
          "number": "547",
          "description": "/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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-548",
          "area": "REQ-ADM",
          "number": "548",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/orders/[id]/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-549",
          "area": "REQ-ADM",
          "number": "549",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/pos-devices/page.tsx",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ADM-574",
          "area": "REQ-ADM",
          "number": "574",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/settings/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 4
        },
        {
          "id": "REQ-ADM-575",
          "area": "REQ-ADM",
          "number": "575",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/settings/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/env.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 4
        },
        {
          "id": "REQ-ADM-576",
          "area": "REQ-ADM",
          "number": "576",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/admin/settings/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/storefrontThemeConfig.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/db/src/migrations/0037_storefront_theme_config.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/schema/stores.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0014_storefront_theme.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 3
        },
        {
          "id": "REQ-ADM-550",
          "area": "REQ-ADM",
          "number": "550",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-551",
          "area": "REQ-ADM",
          "number": "551",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-552",
          "area": "REQ-ADM",
          "number": "552",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-553",
          "area": "REQ-ADM",
          "number": "553",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-554",
          "area": "REQ-ADM",
          "number": "554",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-555",
          "area": "REQ-ADM",
          "number": "555",
          "description": "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,…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-556",
          "area": "REQ-ADM",
          "number": "556",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-557",
          "area": "REQ-ADM",
          "number": "557",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-558",
          "area": "REQ-ADM",
          "number": "558",
          "description": "The /admin/pos-devices list summary must surface stale active devices as a launch-readiness risk using last-seen timestamps, without mutating device state.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-559",
          "area": "REQ-ADM",
          "number": "559",
          "description": "The /admin/pos-devices/[id] detail page must include a copy-reader-id affordance in the identity card for hardware support handoffs.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-560",
          "area": "REQ-ADM",
          "number": "560",
          "description": "The /admin/orders source filter chips must show per-source counts computed from the loaded order window.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-561",
          "area": "REQ-ADM",
          "number": "561",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-562",
          "area": "REQ-ADM",
          "number": "562",
          "description": "The /admin/orders/[id] page must include a copy-order-id affordance next to the order id for support handoffs.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-563",
          "area": "REQ-ADM",
          "number": "563",
          "description": "The /admin/receiving printable worksheet must group rows by supplier and SKU where possible, rather than rendering only a flat recent-bolt list.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-564",
          "area": "REQ-ADM",
          "number": "564",
          "description": "The /admin/settings POS launch settings summary must render missing values as setup-task links to the relevant existing settings tab/section.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-565",
          "area": "REQ-ADM",
          "number": "565",
          "description": "/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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-566",
          "area": "REQ-ADM",
          "number": "566",
          "description": "/admin/orders must include a visible total-value summary tile for the currently filtered order cohort, computed with integer minor-unit math.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-567",
          "area": "REQ-ADM",
          "number": "567",
          "description": "/admin/orders must expose a copy-visible-order-ids action when the filtered page has rows, copying one UUID per line for support handoffs.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-568",
          "area": "REQ-ADM",
          "number": "568",
          "description": "/admin/orders must expose a print-current-view action for the currently visible order table, hidden from print output.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-569",
          "area": "REQ-ADM",
          "number": "569",
          "description": "/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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-570",
          "area": "REQ-ADM",
          "number": "570",
          "description": "/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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-571",
          "area": "REQ-ADM",
          "number": "571",
          "description": "/admin/orders/[id] must expose a print-order action in the header action strip for staff handoffs.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-572",
          "area": "REQ-ADM",
          "number": "572",
          "description": "/admin/orders/[id] must expose a copy-payment-intent affordance beside the Stripe PaymentIntent id when present.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ADM-573",
          "area": "REQ-ADM",
          "number": "573",
          "description": "/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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-ACT",
      "label": "Customer Account",
      "total": 28,
      "shipped": 13,
      "inProgress": 0,
      "notStarted": 15,
      "requirements": [
        {
          "id": "REQ-ACT-509",
          "area": "REQ-ACT",
          "number": "509",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/migrations/0031_order_line_items.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "apps/web/src/app/account/orders/[id]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/profile/ProfileForm.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/profile/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/profile/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/orders/[id]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/orderLineItems.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/orderLineItems.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 9,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ACT-510",
          "area": "REQ-ACT",
          "number": "510",
          "description": "AUDIT — /account/loyalty already renders a next-tier progress bar (TierProgress component). No change required.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/account/notifications/NotificationPrefsForm.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/notifications/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/notifications/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/customerNotificationPrefs.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ACT-511",
          "area": "REQ-ACT",
          "number": "511",
          "description": "",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/account/orders/[id]/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/orders/[id]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/wishlist/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ACT-512",
          "area": "REQ-ACT",
          "number": "512",
          "description": "",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/account/profile/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/tickets/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ACT-513",
          "area": "REQ-ACT",
          "number": "513",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/account/tickets/[id]/page.tsx",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ACT-508",
          "area": "REQ-ACT",
          "number": "508",
          "description": "/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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ACT-507",
          "area": "REQ-ACT",
          "number": "507",
          "description": "/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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ACT-506",
          "area": "REQ-ACT",
          "number": "506",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/migrations/0023_customer_notification_prefs.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/events/src/domain/customers.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/orders/[id]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/orders/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/customerNotificationPrefs.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/customerNotificationPrefs.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 8,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ACT-505",
          "area": "REQ-ACT",
          "number": "505",
          "description": "/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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/account/_components/DashboardWidgets.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/orders/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ACT-504",
          "area": "REQ-ACT",
          "number": "504",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/migrations/0019_orders.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/orders.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/_components/DashboardWidgets.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/orders.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/orders.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 8,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ACT-503",
          "area": "REQ-ACT",
          "number": "503",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/account/loyalty/page.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0018_customer_purchase_fields.sql",
              "count": 2,
              "kind": "migration"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ACT-502",
          "area": "REQ-ACT",
          "number": "502",
          "description": "/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,…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/account/projects/page.tsx",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/projects/shared/[slug]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/_lib/projectShare.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/account/_lib/projectShare.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/env.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/customerProjects.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 8,
          "lastCommit": {
            "sha": "320109d08de21ae1ab16db34dc22b966e6957f03",
            "shortSha": "320109d",
            "subject": "feat(admin): automate custom domain setup (REQ-ADM-575) (#375)",
            "author": "clubmmm",
            "date": "2026-04-27T17:03:27-06:00"
          },
          "commitCount": 3
        },
        {
          "id": "REQ-ACT-501",
          "area": "REQ-ACT",
          "number": "501",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/account/wishlist/actions.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/wishlist/_components/WishlistBulkList.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/wishlist/_components/WishlistCard.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/wishlist/bulkState.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ACT-500",
          "area": "REQ-ACT",
          "number": "500",
          "description": "/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,…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/account/projects/actions.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/projects/duplicateName.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/projects/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ACT-514",
          "area": "REQ-ACT",
          "number": "514",
          "description": "/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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/account/loyalty/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-ACT-515",
          "area": "REQ-ACT",
          "number": "515",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ACT-516",
          "area": "REQ-ACT",
          "number": "516",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ACT-517",
          "area": "REQ-ACT",
          "number": "517",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ACT-518",
          "area": "REQ-ACT",
          "number": "518",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ACT-519",
          "area": "REQ-ACT",
          "number": "519",
          "description": "The /account/orders page must render a compact order-status summary strip for open, delivered, and cancelled orders above the grouped order list.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ACT-520",
          "area": "REQ-ACT",
          "number": "520",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ACT-521",
          "area": "REQ-ACT",
          "number": "521",
          "description": "The /account/orders page must expose a print-history control for the currently visible order list, with the control hidden from browser print output.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ACT-522",
          "area": "REQ-ACT",
          "number": "522",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ACT-523",
          "area": "REQ-ACT",
          "number": "523",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ACT-524",
          "area": "REQ-ACT",
          "number": "524",
          "description": "/account must expose a copy-account-email affordance beside the shopper email in the profile card.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ACT-525",
          "area": "REQ-ACT",
          "number": "525",
          "description": "/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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ACT-526",
          "area": "REQ-ACT",
          "number": "526",
          "description": "/account/orders/[id] must expose a copy-payment-reference affordance for the Stripe PaymentIntent id when an order has one.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-ACT-527",
          "area": "REQ-ACT",
          "number": "527",
          "description": "/account/orders must include a visible total-spend summary tile for the currently filtered order history.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-JOB",
      "label": "Background Jobs",
      "total": 38,
      "shipped": 37,
      "inProgress": 0,
      "notStarted": 1,
      "requirements": [
        {
          "id": "REQ-JOB-502",
          "area": "REQ-JOB",
          "number": "502",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/registry/retryPolicy.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/registry/retryPolicy.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/outbox-relay.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-501",
          "area": "REQ-JOB",
          "number": "501",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/emailJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/payoutJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/registry/defineJob.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/registry/defineJob.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/abandonedCartJob.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/altTextJob.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/csvImportJob.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/demo-seed.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/dropQueueJob.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/outbox-relay.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 12,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-505",
          "area": "REQ-JOB",
          "number": "505",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/payoutJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/events/src/registry.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/payoutJob.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/events/src/domain/jobs.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/registry.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-JOB-504",
          "area": "REQ-JOB",
          "number": "504",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/emailJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/flow/receiptDelivery.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/events/src/registry.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/abandonedCartJob.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/emailJob.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/inventoryDriftJob.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/jobs.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/registry.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 11,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-JOB-503",
          "area": "REQ-JOB",
          "number": "503",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/registry/retryPolicy.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/registry/retryPolicy.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-506",
          "area": "REQ-JOB",
          "number": "506",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/csvImportJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/csvImportJob.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "packages/events/src/domain/jobs.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-507",
          "area": "REQ-JOB",
          "number": "507",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/altTextJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/altTextJob.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-508",
          "area": "REQ-JOB",
          "number": "508",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/abandonedCartJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/abandonedCartJob.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-509",
          "area": "REQ-JOB",
          "number": "509",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/inventoryDriftJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/inventoryDriftJob.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-514",
          "area": "REQ-JOB",
          "number": "514",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/giftCardIssuanceJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/giftCardIssuanceJob.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-515",
          "area": "REQ-JOB",
          "number": "515",
          "description": "Stripe payout confirmation poller job stub (apps/jobs/src/workers/payoutConfirmJob.ts). Stub returns status 'paid'. Outbox: 'payout.confirmed@1'. 5 unit tests.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/events/src/registry.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/payoutConfirmJob.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/payoutConfirmJob.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/jobs.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/registry.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-JOB-516",
          "area": "REQ-JOB",
          "number": "516",
          "description": "Low-stock alert job stub (apps/jobs/src/workers/lowStockAlertJob.ts). thresholdSixteenths: bigint. Stub returns 2 bolts. Outbox per bolt. 6 unit tests.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/lowStockAlertJob.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/lowStockAlertJob.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/inventory.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-517",
          "area": "REQ-JOB",
          "number": "517",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/events/src/registry.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/dropLaunchJob.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/dropLaunchJob.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/drops.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/registry.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-JOB-518",
          "area": "REQ-JOB",
          "number": "518",
          "description": "Gift-card expiry warning job stub (apps/jobs/src/workers/giftCardExpiryJob.ts). balanceMinorStr decimal string. Stub returns 2 cards. 6 unit tests.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/giftCardExpiryReminderJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/giftCardExpiryJob.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/giftCardExpiryJob.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/giftCards.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-519",
          "area": "REQ-JOB",
          "number": "519",
          "description": "Coupon expiry cleanup job stub (apps/jobs/src/workers/couponExpiryJob.ts). Stub deactivates 2 campaigns. 5 unit tests.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/couponExpiryJob.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/couponExpiryJob.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-520",
          "area": "REQ-JOB",
          "number": "520",
          "description": "Nightly POS reconciliation job stub (apps/jobs/src/workers/posReconciliationJob.ts). netMinor = totalSales - totalRefunds bigint. netMinorStr decimal. 6 unit tests.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/posReconciliationJob.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/posReconciliationJob.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/domain/pos.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-521",
          "area": "REQ-JOB",
          "number": "521",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/loyaltyTierJob.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/loyaltyTierJob.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-522",
          "area": "REQ-JOB",
          "number": "522",
          "description": "Order confirmation email job stub (apps/jobs/src/workers/orderConfirmationEmailJob.ts). orderTotalStr decimal. templateKey 'order_confirmation'. Reuses emailQueued event. 5 unit tests.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/orderConfirmationEmailJob.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/orderConfirmationEmailJob.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-523",
          "area": "REQ-JOB",
          "number": "523",
          "description": "Stale held-cart cleanup job stub (apps/jobs/src/workers/heldCartCleanupJob.ts). Stub purges 2 stale hold IDs. 5 unit tests.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/heldCartCleanupJob.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/heldCartCleanupJob.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-524",
          "area": "REQ-JOB",
          "number": "524",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/webhookRetryJob.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/webhookRetryJob.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-525",
          "area": "REQ-JOB",
          "number": "525",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-JOB-526",
          "area": "REQ-JOB",
          "number": "526",
          "description": "Drop-waitlist notification worker stub (apps/jobs/src/workers/dropWaitlistNotifyJob.ts). claimWaitlistSlots clamped to min(n, 2), lifecycle logs, outbox 'drop.waitlist_notified@1'.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/dropReminderJob.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/dropWaitlistNotifyJob.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/dropWaitlistNotifyJob.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-527",
          "area": "REQ-JOB",
          "number": "527",
          "description": "Loyalty points statement worker stub (apps/jobs/src/workers/loyaltyStatementJob.ts). Validates periodMonth (YYYY-MM), logs lifecycle with memberCount, re-throws on total failure.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/loyaltyStatementJob.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/loyaltyStatementJob.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/loyaltyWeeklyRecapJob.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-513",
          "area": "REQ-JOB",
          "number": "513",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/customerReactivationJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/customerReactivationJob.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-512",
          "area": "REQ-JOB",
          "number": "512",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/shiftSummaryJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/shiftSummaryJob.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-511",
          "area": "REQ-JOB",
          "number": "511",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/loyaltyAccrualJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/loyaltyAccrualJob.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-510",
          "area": "REQ-JOB",
          "number": "510",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/dropQueueJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/dropQueueJob.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-528",
          "area": "REQ-JOB",
          "number": "528",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/orderRefundEmailJob.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/orderRefundEmailJob.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-529",
          "area": "REQ-JOB",
          "number": "529",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/giftCardExpiryReminderJob.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/giftCardExpiryReminderJob.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-530",
          "area": "REQ-JOB",
          "number": "530",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/loyaltyWeeklyRecapJob.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/loyaltyWeeklyRecapJob.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-531",
          "area": "REQ-JOB",
          "number": "531",
          "description": "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]…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/dropReminderJob.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/dropReminderJob.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-532",
          "area": "REQ-JOB",
          "number": "532",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/reviewRequestEmailJob.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/reviewRequestEmailJob.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-533",
          "area": "REQ-JOB",
          "number": "533",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/abandonedWishlistJob.test.ts",
              "count": 3,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/abandonedWishlistJob.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-534",
          "area": "REQ-JOB",
          "number": "534",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/classReminderJob.test.ts",
              "count": 4,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/classReminderJob.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-535",
          "area": "REQ-JOB",
          "number": "535",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/inventoryZeroAlertJob.test.ts",
              "count": 3,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/inventoryZeroAlertJob.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-536",
          "area": "REQ-JOB",
          "number": "536",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/workers/posShiftCloseEmailJob.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/posShiftCloseEmailJob.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-537",
          "area": "REQ-JOB",
          "number": "537",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/sinks/structuredWebhookSink.test.ts",
              "count": 3,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/sinks/structuredWebhookSink.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-JOB-538",
          "area": "REQ-JOB",
          "number": "538",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/jobs/src/registry/deadLetterDigest.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/registry/deadLetterDigest.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/jobs/src/workers/deadLetterDigest.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/jobs/src/workers/deadLetterDigest.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        }
      ]
    },
    {
      "area": "REQ-HW",
      "label": "Hardware Adapters",
      "total": 12,
      "shipped": 12,
      "inProgress": 0,
      "notStarted": 0,
      "requirements": [
        {
          "id": "REQ-HW-500",
          "area": "REQ-HW",
          "number": "500",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/hw/barcodeScanner.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hw/cashDrawer.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hw/hardware.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/hw/noopHardware.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hw/receiptPrinter.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hw/types.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/index.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/registry.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 8,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-HW-501",
          "area": "REQ-HW",
          "number": "501",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/hw/receiptPrinter.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hw/receiptPrinterExt.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/hw/types.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/receipt/receiptBuilder.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-HW-502",
          "area": "REQ-HW",
          "number": "502",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/hw/cashDrawerExt.test.ts",
              "count": 3,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/hw/cashDrawer.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hw/types.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-HW-503",
          "area": "REQ-HW",
          "number": "503",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/hw/labelPrinter.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/hw/labelPrinter.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-HW-505",
          "area": "REQ-HW",
          "number": "505",
          "description": "Physical scale adapter + buildYardageSuggestionFromWeight (apps/pos/src/hw/physicalScale.ts). REQ-HDW-002 optional peripheral. ScaleReading: { weightOunces: bigint; stable: boolean }. buildYardageSuggestionFromWeight(weightOunces, weightPe…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/hw/physicalScale.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/hw/physicalScale.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-HW-506",
          "area": "REQ-HW",
          "number": "506",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/hw/hardwareTelemetry.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/hw/hardwareTelemetry.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hw/scannerTimeout.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-HW-507",
          "area": "REQ-HW",
          "number": "507",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/HardwareHealthStatus.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/HardwareHealthStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hw/hardwareHealthCheck.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/hw/healthCheck.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-HW-504",
          "area": "REQ-HW",
          "number": "504",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/hw/customerDisplay.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/hw/customerDisplay.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-HW-509",
          "area": "REQ-HW",
          "number": "509",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/ScannerAdapterStatus.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/hardware/scanner/ScannerAdapter.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/components/ScannerAdapterStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hardware/scanner/ScannerAdapter.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 6,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-HW-510",
          "area": "REQ-HW",
          "number": "510",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/PrinterAdapterStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/PrinterAdapterStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hardware/drawer/DrawerAdapter.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hardware/printer/PrinterAdapter.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/hardware/printer/PrinterAdapter.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-HW-511",
          "area": "REQ-HW",
          "number": "511",
          "description": "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\"…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/DrawerAdapterStatus.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/DrawerAdapterStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hardware/drawer/DrawerAdapter.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/hardware/drawer/DrawerAdapter.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-HW-512",
          "area": "REQ-HW",
          "number": "512",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/NfcReaderAdapterStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/NfcReaderAdapterStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hardware/nfcReader/NfcReaderAdapter.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        }
      ]
    },
    {
      "area": "REQ-NFC",
      "label": "NFC Workflows",
      "total": 8,
      "shipped": 7,
      "inProgress": 1,
      "notStarted": 0,
      "requirements": [
        {
          "id": "REQ-NFC-500",
          "area": "REQ-NFC",
          "number": "500",
          "description": "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,…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/hw/nfcWriter.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hardware/nfcReader/NfcReaderAdapter.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hw/nfcReader.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/hw/nfcReader.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/nfc/buildBoltTagPayload.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-NFC-501",
          "area": "REQ-NFC",
          "number": "501",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/hw/nfcWriter.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/hw/nfcWriter.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-NFC-502",
          "area": "REQ-NFC",
          "number": "502",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/scan/nfcBatchCollector.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/scan/nfcBatchCollector.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-NFC-503",
          "area": "REQ-NFC",
          "number": "503",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/scan/nfcBatchWriteSession.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/scan/nfcTagValidator.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/scan/nfcTagValidator.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-NFC-504",
          "area": "REQ-NFC",
          "number": "504",
          "description": "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.…",
          "status": "in-progress",
          "citations": [
            {
              "path": "apps/pos/src/flow/nfcWriteFlow.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-NFC-506",
          "area": "REQ-NFC",
          "number": "506",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/BoltTagPayloadStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hardware/nfcReader/NfcReaderAdapter.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/nfc/buildBoltTagPayload.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/nfc/buildDropTagPayload.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-NFC-507",
          "area": "REQ-NFC",
          "number": "507",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/DropTagPayloadStatus.test.ts",
              "count": 1,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/DropTagPayloadStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/hardware/nfcReader/NfcReaderAdapter.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/nfc/buildDropTagPayload.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-NFC-508",
          "area": "REQ-NFC",
          "number": "508",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/pos/src/components/BulkWriteDiffStatus.test.ts",
              "count": 2,
              "kind": "test"
            },
            {
              "path": "apps/pos/src/components/BulkWriteDiffStatus.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/nfc/buildDropTagPayload.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/pos/src/nfc/bulkWriteDiff.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        }
      ]
    },
    {
      "area": "REQ-DB",
      "label": "Database Migrations",
      "total": 6,
      "shipped": 6,
      "inProgress": 0,
      "notStarted": 0,
      "requirements": [
        {
          "id": "REQ-DB-565",
          "area": "REQ-DB",
          "number": "565",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/schema/returnAuthorizations.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/returnAuthorizations.test.ts",
              "count": 3,
              "kind": "test"
            },
            {
              "path": "packages/db/src/migrations/0034_return_authorizations.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/returnAuthorizations.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 9,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DB-564",
          "area": "REQ-DB",
          "number": "564",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/testing/src/storeNotesPinned.test.ts",
              "count": 3,
              "kind": "test"
            },
            {
              "path": "packages/db/src/migrations/0033_store_notes_pinned.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/storeNotes.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/storeNotes.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 7,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DB-562",
          "area": "REQ-DB",
          "number": "562",
          "description": "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 �??…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/testing/src/orderLineItems.test.ts",
              "count": 3,
              "kind": "test"
            },
            {
              "path": "packages/db/src/migrations/0031_order_line_items.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/orderLineItems.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/orders/[id]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/admin/orders/[id]/page.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/db/src/schema/orderLineItems.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 10,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DB-561",
          "area": "REQ-DB",
          "number": "561",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/testing/src/contacts.test.ts",
              "count": 3,
              "kind": "test"
            },
            {
              "path": "packages/db/src/migrations/0030_contacts.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/schema/contacts.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/repositories/contacts.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 8,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DB-560",
          "area": "REQ-DB",
          "number": "560",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/schema/purchaseOrders.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/purchaseOrders.test.ts",
              "count": 3,
              "kind": "test"
            },
            {
              "path": "packages/db/src/migrations/0029_purchase_orders.sql",
              "count": 2,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/repositories/purchaseOrders.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 9,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-DB-563",
          "area": "REQ-DB",
          "number": "563",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/db/src/migrations/0032_customer_segments_rule_json.sql",
              "count": 4,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/schema/customerSegments.ts",
              "count": 3,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/customerSegmentsMembership.test.ts",
              "count": 3,
              "kind": "test"
            },
            {
              "path": "packages/db/src/repositories/customerSegments.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 12,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        }
      ]
    },
    {
      "area": "REQ-PWA",
      "label": "PWA & Installability",
      "total": 13,
      "shipped": 12,
      "inProgress": 0,
      "notStarted": 1,
      "requirements": [
        {
          "id": "REQ-PWA-504",
          "area": "REQ-PWA",
          "number": "504",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PWA-506",
          "area": "REQ-PWA",
          "number": "506",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/manifest.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-PWA-505",
          "area": "REQ-PWA",
          "number": "505",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/manifest.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-PWA-507",
          "area": "REQ-PWA",
          "number": "507",
          "description": "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;…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/manifest.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-PWA-500",
          "area": "REQ-PWA",
          "number": "500",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/manifest.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-PWA-501",
          "area": "REQ-PWA",
          "number": "501",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/manifest.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-PWA-502",
          "area": "REQ-PWA",
          "number": "502",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/manifest.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-PWA-503",
          "area": "REQ-PWA",
          "number": "503",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/manifest.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-PWA-508",
          "area": "REQ-PWA",
          "number": "508",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/manifest.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-PWA-509",
          "area": "REQ-PWA",
          "number": "509",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/manifest.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-PWA-510",
          "area": "REQ-PWA",
          "number": "510",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/manifest.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-PWA-511",
          "area": "REQ-PWA",
          "number": "511",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-PWA-512",
          "area": "REQ-PWA",
          "number": "512",
          "description": "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_…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-SEO",
      "label": "SEO & Feeds",
      "total": 23,
      "shipped": 23,
      "inProgress": 0,
      "notStarted": 0,
      "requirements": [
        {
          "id": "REQ-SEO-508",
          "area": "REQ-SEO",
          "number": "508",
          "description": "<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…",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/lib/roadmap.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 2,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SEO-509",
          "area": "REQ-SEO",
          "number": "509",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/next.config.mjs",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SEO-512",
          "area": "REQ-SEO",
          "number": "512",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SEO-514",
          "area": "REQ-SEO",
          "number": "514",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/drops/[slug]/ld.json/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/[slug]/ld.json/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/[slug]/ld.json/route.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SEO-513",
          "area": "REQ-SEO",
          "number": "513",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SEO-511",
          "area": "REQ-SEO",
          "number": "511",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/socialMetadata.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SEO-510",
          "area": "REQ-SEO",
          "number": "510",
          "description": "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)…",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SEO-500",
          "area": "REQ-SEO",
          "number": "500",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/layout.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SEO-501",
          "area": "REQ-SEO",
          "number": "501",
          "description": "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.…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/drops/rss.xml/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/rss.xml/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/rss.xml/route.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SEO-502",
          "area": "REQ-SEO",
          "number": "502",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/drops/calendar.ics/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/calendar.ics/route.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "12d6c418e330a0bfcf58d0e6307a0f40b32bc9c4",
            "shortSha": "12d6c41",
            "subject": "fix(web): resolve reference store Clerk slug host (REQ-DMO-005, REQ-ARC-037, REQ-ARC-036) (#371)",
            "author": "clubmmm",
            "date": "2026-04-27T14:28:54-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-SEO-503",
          "area": "REQ-SEO",
          "number": "503",
          "description": "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).…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/humans.txt/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/llms.txt/route.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SEO-504",
          "area": "REQ-SEO",
          "number": "504",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/opensearch.xml/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/feeds.opml/route.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "12d6c418e330a0bfcf58d0e6307a0f40b32bc9c4",
            "shortSha": "12d6c41",
            "subject": "fix(web): resolve reference store Clerk slug host (REQ-DMO-005, REQ-ARC-037, REQ-ARC-036) (#371)",
            "author": "clubmmm",
            "date": "2026-04-27T14:28:54-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-SEO-505",
          "area": "REQ-SEO",
          "number": "505",
          "description": "<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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/rssChannelImage.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SEO-506",
          "area": "REQ-SEO",
          "number": "506",
          "description": "<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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/rssChannelImage.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/drops/rss.xml/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/rss.xml/route.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/shop/rss.xml/route.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SEO-507",
          "area": "REQ-SEO",
          "number": "507",
          "description": "<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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/rssChannelImage.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SEO-515",
          "area": "REQ-SEO",
          "number": "515",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/robots.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SEO-517",
          "area": "REQ-SEO",
          "number": "517",
          "description": "\"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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/layout.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SEO-522",
          "area": "REQ-SEO",
          "number": "522",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SEO-518",
          "area": "REQ-SEO",
          "number": "518",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/next.config.mjs",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SEO-519",
          "area": "REQ-SEO",
          "number": "519",
          "description": "<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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/rssChannelImage.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SEO-521",
          "area": "REQ-SEO",
          "number": "521",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/(storefront)/drops/rss.xml/route.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/(storefront)/events/rss.xml/route.ts",
              "count": 2,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-SEO-516",
          "area": "REQ-SEO",
          "number": "516",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-SEO-520",
          "area": "REQ-SEO",
          "number": "520",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-A11Y",
      "label": "Accessibility",
      "total": 38,
      "shipped": 20,
      "inProgress": 0,
      "notStarted": 18,
      "requirements": [
        {
          "id": "REQ-A11Y-513",
          "area": "REQ-A11Y",
          "number": "513",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-512",
          "area": "REQ-A11Y",
          "number": "512",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/components/AddToCartForm.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-A11Y-511",
          "area": "REQ-A11Y",
          "number": "511",
          "description": "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}…",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-510",
          "area": "REQ-A11Y",
          "number": "510",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-509",
          "area": "REQ-A11Y",
          "number": "509",
          "description": "<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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/roadmap.test.ts",
              "count": 4,
              "kind": "test"
            },
            {
              "path": "apps/web/src/app/admin/webhooks/page.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-A11Y-508",
          "area": "REQ-A11Y",
          "number": "508",
          "description": "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\"),…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-500",
          "area": "REQ-A11Y",
          "number": "500",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/components/StorefrontNavLink.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/StorefrontShell.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-A11Y-501",
          "area": "REQ-A11Y",
          "number": "501",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/components/StorefrontNavLink.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/StorefrontShell.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-A11Y-502",
          "area": "REQ-A11Y",
          "number": "502",
          "description": "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)…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/components/StorefrontShell.tsx",
              "count": 3,
              "kind": "production"
            }
          ],
          "citationCount": 3,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-A11Y-503",
          "area": "REQ-A11Y",
          "number": "503",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/app/account/wishlist/_components/WishlistBulkList.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/StorefrontShell.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/app/account/wishlist/actions.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-A11Y-504",
          "area": "REQ-A11Y",
          "number": "504",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/components/StorefrontFilters.tsx",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/DropsFilterRail.tsx",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "apps/web/src/components/EventsFilterRail.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-A11Y-505",
          "area": "REQ-A11Y",
          "number": "505",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/components/AddToCartForm.tsx",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-A11Y-506",
          "area": "REQ-A11Y",
          "number": "506",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-507",
          "area": "REQ-A11Y",
          "number": "507",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-514",
          "area": "REQ-A11Y",
          "number": "514",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-515",
          "area": "REQ-A11Y",
          "number": "515",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-518",
          "area": "REQ-A11Y",
          "number": "518",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-519",
          "area": "REQ-A11Y",
          "number": "519",
          "description": "aria-label=\"Merge bolts\" on the <form> in apps/web/src/app/admin/bolts/[boltId]/MergeForm.tsx. Pure a11y attribute ??? no visual change.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-520",
          "area": "REQ-A11Y",
          "number": "520",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-535",
          "area": "REQ-A11Y",
          "number": "535",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-521",
          "area": "REQ-A11Y",
          "number": "521",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-522",
          "area": "REQ-A11Y",
          "number": "522",
          "description": "aria-label=\"Rotate webhook signing secret\" on the rotate <form action={rotateAction}> in WebhookManager.tsx (line 173). Pure a11y attribute ??? no visual change.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-523",
          "area": "REQ-A11Y",
          "number": "523",
          "description": "aria-label=\"Delete webhook endpoint\" on the delete <form action={deleteAction}> in WebhookManager.tsx (line 200). Pure a11y attribute ??? no visual change.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-524",
          "area": "REQ-A11Y",
          "number": "524",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-525",
          "area": "REQ-A11Y",
          "number": "525",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-526",
          "area": "REQ-A11Y",
          "number": "526",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-527",
          "area": "REQ-A11Y",
          "number": "527",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-531",
          "area": "REQ-A11Y",
          "number": "531",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-533",
          "area": "REQ-A11Y",
          "number": "533",
          "description": "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.",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-534",
          "area": "REQ-A11Y",
          "number": "534",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-528",
          "area": "REQ-A11Y",
          "number": "528",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-529",
          "area": "REQ-A11Y",
          "number": "529",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-530",
          "area": "REQ-A11Y",
          "number": "530",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-532",
          "area": "REQ-A11Y",
          "number": "532",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-536",
          "area": "REQ-A11Y",
          "number": "536",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-537",
          "area": "REQ-A11Y",
          "number": "537",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-538",
          "area": "REQ-A11Y",
          "number": "538",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "REQUIREMENTS.md verified audit ledger",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": null,
          "commitCount": 0
        },
        {
          "id": "REQ-A11Y-539",
          "area": "REQ-A11Y",
          "number": "539",
          "description": "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…",
          "status": "not-started",
          "citations": [],
          "citationCount": 0,
          "lastCommit": null,
          "commitCount": 0
        }
      ]
    },
    {
      "area": "REQ-QDC",
      "label": "REQ-QDC",
      "total": 32,
      "shipped": 32,
      "inProgress": 0,
      "notStarted": 0,
      "requirements": [
        {
          "id": "REQ-QDC-001",
          "area": "REQ-QDC",
          "number": "001",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/db/src/migrations/0036_design_contests.sql",
              "count": 1,
              "kind": "migration"
            },
            {
              "path": "packages/db/src/schema/designContests.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/testing/src/designContests.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 5,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-002",
          "area": "REQ-QDC",
          "number": "002",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-003",
          "area": "REQ-QDC",
          "number": "003",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-004",
          "area": "REQ-QDC",
          "number": "004",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-005",
          "area": "REQ-QDC",
          "number": "005",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-006",
          "area": "REQ-QDC",
          "number": "006",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-007",
          "area": "REQ-QDC",
          "number": "007",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/db.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-008",
          "area": "REQ-QDC",
          "number": "008",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-009",
          "area": "REQ-QDC",
          "number": "009",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-010",
          "area": "REQ-QDC",
          "number": "010",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-011",
          "area": "REQ-QDC",
          "number": "011",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-012",
          "area": "REQ-QDC",
          "number": "012",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-013",
          "area": "REQ-QDC",
          "number": "013",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-014",
          "area": "REQ-QDC",
          "number": "014",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-015",
          "area": "REQ-QDC",
          "number": "015",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-016",
          "area": "REQ-QDC",
          "number": "016",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-017",
          "area": "REQ-QDC",
          "number": "017",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-018",
          "area": "REQ-QDC",
          "number": "018",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-019",
          "area": "REQ-QDC",
          "number": "019",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "apps/web/src/lib/db.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 2,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-020",
          "area": "REQ-QDC",
          "number": "020",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-021",
          "area": "REQ-QDC",
          "number": "021",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-022",
          "area": "REQ-QDC",
          "number": "022",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-023",
          "area": "REQ-QDC",
          "number": "023",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-024",
          "area": "REQ-QDC",
          "number": "024",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-025",
          "area": "REQ-QDC",
          "number": "025",
          "description": "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,…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-026",
          "area": "REQ-QDC",
          "number": "026",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-027",
          "area": "REQ-QDC",
          "number": "027",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-028",
          "area": "REQ-QDC",
          "number": "028",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-029",
          "area": "REQ-QDC",
          "number": "029",
          "description": "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.",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-030",
          "area": "REQ-QDC",
          "number": "030",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/events/src/registry.ts",
              "count": 2,
              "kind": "production"
            },
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            },
            {
              "path": "packages/events/src/registry.test.ts",
              "count": 1,
              "kind": "test"
            }
          ],
          "citationCount": 4,
          "lastCommit": {
            "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
            "shortSha": "9e2c765",
            "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
            "author": "clubmmm",
            "date": "2026-04-27T22:57:46-06:00"
          },
          "commitCount": 2
        },
        {
          "id": "REQ-QDC-031",
          "area": "REQ-QDC",
          "number": "031",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        },
        {
          "id": "REQ-QDC-032",
          "area": "REQ-QDC",
          "number": "032",
          "description": "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…",
          "status": "shipped",
          "citations": [
            {
              "path": "packages/demo-data/src/packs/0013_design_contests.ts",
              "count": 1,
              "kind": "production"
            }
          ],
          "citationCount": 1,
          "lastCommit": {
            "sha": "3f927dc065b77a9e53b18582b299a3e6a8fa37d7",
            "shortSha": "3f927dc",
            "subject": "feat(web): redirect signed-in apex users to tenant home (REQ-ARC-037, REQ-ARC-036, REQ-ECO-001) (#369)",
            "author": "clubmmm",
            "date": "2026-04-27T12:51:49-06:00"
          },
          "commitCount": 1
        }
      ]
    }
  ],
  "recentlyShipped": [
    {
      "id": "REQ-ONB-067",
      "area": "REQ-ONB",
      "number": "067",
      "description": "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…",
      "status": "shipped",
      "citations": [
        {
          "path": "packages/events/src/domain/migrationImports.ts",
          "count": 10,
          "kind": "production"
        },
        {
          "path": "apps/jobs/src/workers/migrationImportJob.ts",
          "count": 2,
          "kind": "production"
        },
        {
          "path": "apps/web/src/app/admin/migration/page.tsx",
          "count": 2,
          "kind": "production"
        },
        {
          "path": "packages/events/src/registry.ts",
          "count": 2,
          "kind": "production"
        },
        {
          "path": "packages/events/src/registry.test.ts",
          "count": 1,
          "kind": "test"
        }
      ],
      "citationCount": 17,
      "lastCommit": {
        "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
        "shortSha": "9e2c765",
        "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
        "author": "clubmmm",
        "date": "2026-04-27T22:57:46-06:00"
      },
      "commitCount": 2
    },
    {
      "id": "REQ-INV-010",
      "area": "REQ-INV",
      "number": "010",
      "description": "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.",
      "status": "shipped",
      "citations": [
        {
          "path": "packages/db/src/migrations/0005_bolt_status.sql",
          "count": 3,
          "kind": "migration"
        },
        {
          "path": "packages/testing/src/bolt-status.test.ts",
          "count": 3,
          "kind": "test"
        },
        {
          "path": "packages/db/src/repositories/bolts.ts",
          "count": 2,
          "kind": "production"
        },
        {
          "path": "packages/db/src/repositories/stores.ts",
          "count": 2,
          "kind": "production"
        },
        {
          "path": "packages/db/src/schema/stores.ts",
          "count": 2,
          "kind": "production"
        },
        {
          "path": "packages/testing/src/admin-lifecycle.test.ts",
          "count": 2,
          "kind": "test"
        },
        {
          "path": "apps/web/src/app/admin/settings/actions.ts",
          "count": 1,
          "kind": "production"
        },
        {
          "path": "apps/web/src/app/admin/settings/page.tsx",
          "count": 1,
          "kind": "production"
        },
        {
          "path": "packages/demo-data/src/packs/0002_expanded_inventory.ts",
          "count": 1,
          "kind": "production"
        },
        {
          "path": "packages/demo-data/src/packs/0003_lifecycle_transitions.ts",
          "count": 1,
          "kind": "production"
        }
      ],
      "citationCount": 18,
      "lastCommit": {
        "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
        "shortSha": "9e2c765",
        "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
        "author": "clubmmm",
        "date": "2026-04-27T22:57:46-06:00"
      },
      "commitCount": 4
    },
    {
      "id": "REQ-ECO-001",
      "area": "REQ-ECO",
      "number": "001",
      "description": "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, /…",
      "status": "shipped",
      "citations": [
        {
          "path": "packages/testing/src/catalog.test.ts",
          "count": 2,
          "kind": "test"
        },
        {
          "path": "apps/web/src/app/(storefront)/shop/page.tsx",
          "count": 1,
          "kind": "production"
        },
        {
          "path": "apps/web/src/lib/auth.ts",
          "count": 1,
          "kind": "production"
        },
        {
          "path": "apps/web/src/lib/clerkTenantLookup.ts",
          "count": 1,
          "kind": "production"
        },
        {
          "path": "packages/db/src/migrations/0010_sku_catalog.sql",
          "count": 1,
          "kind": "migration"
        },
        {
          "path": "packages/db/src/repositories/skus.ts",
          "count": 1,
          "kind": "production"
        },
        {
          "path": "packages/db/src/schema/skus.ts",
          "count": 1,
          "kind": "production"
        },
        {
          "path": "packages/demo-data/src/packs/0006_storefront_catalog.ts",
          "count": 1,
          "kind": "production"
        }
      ],
      "citationCount": 9,
      "lastCommit": {
        "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
        "shortSha": "9e2c765",
        "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
        "author": "clubmmm",
        "date": "2026-04-27T22:57:46-06:00"
      },
      "commitCount": 6
    },
    {
      "id": "REQ-ECO-003",
      "area": "REQ-ECO",
      "number": "003",
      "description": "Support yardage-based purchasing with minimum cut (default � yard) and increment (default � yard) configurable per product.",
      "status": "shipped",
      "citations": [
        {
          "path": "apps/web/src/components/AddToCartForm.tsx",
          "count": 4,
          "kind": "production"
        },
        {
          "path": "apps/web/src/app/(storefront)/cart/actions.ts",
          "count": 2,
          "kind": "production"
        },
        {
          "path": "apps/web/src/app/globals.css",
          "count": 2,
          "kind": "production"
        },
        {
          "path": "apps/web/src/app/(storefront)/cart/page.tsx",
          "count": 1,
          "kind": "production"
        },
        {
          "path": "apps/web/src/app/(storefront)/shop/page.tsx",
          "count": 1,
          "kind": "production"
        },
        {
          "path": "apps/web/src/components/CartYardageEditor.tsx",
          "count": 1,
          "kind": "production"
        },
        {
          "path": "apps/web/src/lib/productStructuredData.ts",
          "count": 1,
          "kind": "production"
        },
        {
          "path": "apps/web/src/lib/yardageStorefrontCopy.ts",
          "count": 1,
          "kind": "production"
        },
        {
          "path": "packages/core/src/cart/cart.ts",
          "count": 1,
          "kind": "production"
        },
        {
          "path": "packages/core/src/cart/index.ts",
          "count": 1,
          "kind": "production"
        },
        {
          "path": "packages/core/src/quilt/patterns.ts",
          "count": 1,
          "kind": "production"
        }
      ],
      "citationCount": 16,
      "lastCommit": {
        "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
        "shortSha": "9e2c765",
        "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
        "author": "clubmmm",
        "date": "2026-04-27T22:57:46-06:00"
      },
      "commitCount": 2
    },
    {
      "id": "REQ-ECO-004",
      "area": "REQ-ECO",
      "number": "004",
      "description": "Product detail pages must show real-time availability, remnant availability, related kits/patterns, and substitutions when out of stock.",
      "status": "shipped",
      "citations": [
        {
          "path": "apps/web/src/app/(storefront)/shop/[slug]/page.tsx",
          "count": 3,
          "kind": "production"
        },
        {
          "path": "apps/web/src/lib/storefront.ts",
          "count": 2,
          "kind": "production"
        },
        {
          "path": "packages/db/src/repositories/skus.ts",
          "count": 2,
          "kind": "production"
        },
        {
          "path": "packages/testing/src/catalog.test.ts",
          "count": 2,
          "kind": "test"
        },
        {
          "path": "apps/web/src/app/(storefront)/shop/page.tsx",
          "count": 1,
          "kind": "production"
        },
        {
          "path": "apps/web/src/components/ProductGallery.tsx",
          "count": 1,
          "kind": "production"
        },
        {
          "path": "apps/web/src/components/ProductShareButton.tsx",
          "count": 1,
          "kind": "production"
        },
        {
          "path": "packages/db/src/migrations/0010_sku_catalog.sql",
          "count": 1,
          "kind": "migration"
        },
        {
          "path": "packages/db/src/schema/skus.ts",
          "count": 1,
          "kind": "production"
        },
        {
          "path": "packages/demo-data/src/packs/0006_storefront_catalog.ts",
          "count": 1,
          "kind": "production"
        },
        {
          "path": "packages/demo-data/src/packs/0011_storefront_images.ts",
          "count": 1,
          "kind": "production"
        }
      ],
      "citationCount": 16,
      "lastCommit": {
        "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
        "shortSha": "9e2c765",
        "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
        "author": "clubmmm",
        "date": "2026-04-27T22:57:46-06:00"
      },
      "commitCount": 2
    },
    {
      "id": "REQ-ECO-501",
      "area": "REQ-ECO",
      "number": "501",
      "description": "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…",
      "status": "shipped",
      "citations": [
        {
          "path": "apps/web/src/app/(storefront)/shop/page.tsx",
          "count": 2,
          "kind": "production"
        }
      ],
      "citationCount": 2,
      "lastCommit": {
        "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
        "shortSha": "9e2c765",
        "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
        "author": "clubmmm",
        "date": "2026-04-27T22:57:46-06:00"
      },
      "commitCount": 2
    },
    {
      "id": "REQ-ECO-518",
      "area": "REQ-ECO",
      "number": "518",
      "description": "The /shop PLP header gains a \"New arrivals\" link pointing to /shop?new=1 alongside the RSS autodiscovery link (REQ-ECO-518).",
      "status": "shipped",
      "citations": [
        {
          "path": "apps/web/src/app/(storefront)/shop/page.tsx",
          "count": 1,
          "kind": "production"
        }
      ],
      "citationCount": 1,
      "lastCommit": {
        "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
        "shortSha": "9e2c765",
        "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
        "author": "clubmmm",
        "date": "2026-04-27T22:57:46-06:00"
      },
      "commitCount": 2
    },
    {
      "id": "REQ-ECO-545",
      "area": "REQ-ECO",
      "number": "545",
      "description": "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…",
      "status": "shipped",
      "citations": [
        {
          "path": "apps/web/src/lib/storefrontThemeConfig.test.ts",
          "count": 1,
          "kind": "test"
        },
        {
          "path": "packages/db/src/migrations/0037_storefront_theme_config.sql",
          "count": 1,
          "kind": "migration"
        },
        {
          "path": "packages/db/src/schema/stores.ts",
          "count": 1,
          "kind": "production"
        },
        {
          "path": "packages/demo-data/src/packs/0014_storefront_theme.ts",
          "count": 1,
          "kind": "production"
        }
      ],
      "citationCount": 4,
      "lastCommit": {
        "sha": "9e2c76527fe8efa4aa4be0260b5f5979672d1cff",
        "shortSha": "9e2c765",
        "subject": "feat(web): add storefront theme customization (REQ-ECO-545 REQ-ADM-576) (#378)",
        "author": "clubmmm",
        "date": "2026-04-27T22:57:46-06:00"
      },
      "commitCount": 2
    }
  ],
  "inFlight": [
    {
      "id": "REQ-POS-023",
      "area": "REQ-POS",
      "number": "023",
      "description": "The app must sync background transactions to the server as connectivity permits, with conflict resolution per �17.",
      "status": "in-progress",
      "citations": [
        {
          "path": "apps/pos/src/runtime/registerWorkbench.test.ts",
          "count": 1,
          "kind": "test"
        }
      ],
      "citationCount": 1,
      "lastCommit": null,
      "commitCount": 0
    },
    {
      "id": "REQ-DRP-004",
      "area": "REQ-DRP",
      "number": "004",
      "description": "The system must apply per-customer rate limits and bot mitigation (device/session signals plus a challenge when risk is high).",
      "status": "in-progress",
      "citations": [
        {
          "path": "packages/db/src/migrations/0011_drops.sql",
          "count": 1,
          "kind": "migration"
        }
      ],
      "citationCount": 1,
      "lastCommit": null,
      "commitCount": 0
    },
    {
      "id": "REQ-DRP-005",
      "area": "REQ-DRP",
      "number": "005",
      "description": "Drop analytics must report queue-entry rate, sell-through time, conversion, abandonment, and attribution.",
      "status": "in-progress",
      "citations": [
        {
          "path": "packages/db/src/migrations/0011_drops.sql",
          "count": 1,
          "kind": "migration"
        }
      ],
      "citationCount": 1,
      "lastCommit": null,
      "commitCount": 0
    },
    {
      "id": "REQ-SYN-001",
      "area": "REQ-SYN",
      "number": "001",
      "description": "Inventory changes from any channel (POS, web, drops, events) must propagate to other active channels within 2 seconds at p95 under normal load.",
      "status": "in-progress",
      "citations": [
        {
          "path": "apps/web/src/lib/roadmap.test.ts",
          "count": 2,
          "kind": "test"
        }
      ],
      "citationCount": 2,
      "lastCommit": null,
      "commitCount": 0
    },
    {
      "id": "REQ-SYN-011",
      "area": "REQ-SYN",
      "number": "011",
      "description": "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.",
      "status": "in-progress",
      "citations": [
        {
          "path": "apps/pos/src/runtime/registerWorkbench.test.ts",
          "count": 1,
          "kind": "test"
        }
      ],
      "citationCount": 1,
      "lastCommit": null,
      "commitCount": 0
    },
    {
      "id": "REQ-CRM-005",
      "area": "REQ-CRM",
      "number": "005",
      "description": "Data subject requests (export and deletion) must be self-service per �26.",
      "status": "in-progress",
      "citations": [
        {
          "path": "packages/db/src/migrations/0013_customers.sql",
          "count": 1,
          "kind": "migration"
        },
        {
          "path": "packages/db/src/migrations/0014_customer_projects.sql",
          "count": 1,
          "kind": "migration"
        },
        {
          "path": "packages/db/src/migrations/0015_customer_wishlist.sql",
          "count": 1,
          "kind": "migration"
        }
      ],
      "citationCount": 3,
      "lastCommit": null,
      "commitCount": 0
    },
    {
      "id": "REQ-API-003",
      "area": "REQ-API",
      "number": "003",
      "description": "Webhooks for all significant events (order.created, cut.completed, drop.opened, ticket.checked_in, payout.paid), with signing, retries, and a dead-letter queue.",
      "status": "in-progress",
      "citations": [
        {
          "path": "packages/db/src/migrations/0008_webhook_delivery.sql",
          "count": 1,
          "kind": "migration"
        }
      ],
      "citationCount": 1,
      "lastCommit": null,
      "commitCount": 0
    },
    {
      "id": "REQ-ANL-004",
      "area": "REQ-ANL",
      "number": "004",
      "description": "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.",
      "status": "in-progress",
      "citations": [
        {
          "path": "packages/db/src/migrations/0002_event_outbox.sql",
          "count": 1,
          "kind": "migration"
        }
      ],
      "citationCount": 1,
      "lastCommit": null,
      "commitCount": 0
    }
  ],
  "openDecisions": [
    {
      "id": "DEC-003",
      "topic": "Realtime provider",
      "options": "Ably, Pusher, Upstash + Server-Sent Events on Vercel, Soketi (self-host)",
      "references": [
        "REQ-ARC-018"
      ]
    },
    {
      "id": "DEC-005",
      "topic": "Search engine",
      "options": "Typesense, Meilisearch, Algolia, Postgres FTS + pgvector only",
      "references": [
        "REQ-ARC-021"
      ]
    },
    {
      "id": "DEC-010",
      "topic": "CMS approach",
      "options": "External headless CMS (Sanity/Payload/Contentful) vs. in-app page builder backed by Postgres",
      "references": [
        "REQ-ARC-032"
      ]
    },
    {
      "id": "DEC-011",
      "topic": "i18n / multi-currency timing",
      "options": "v1, v1.5, v2",
      "references": [
        "REQ-UX-006",
        "REQ-SEC-031"
      ]
    },
    {
      "id": "DEC-012",
      "topic": "CAPTCHA provider",
      "options": "Cloudflare Turnstile (recommended), hCaptcha, reCAPTCHA v3",
      "references": [
        "REQ-SEC-007",
        "REQ-ARC-031.1"
      ]
    },
    {
      "id": "DEC-019",
      "topic": "Analytics warehouse",
      "options": "ClickHouse Cloud or BigQuery; Snowflake as enterprise alternative",
      "references": [
        "REQ-ARC-029",
        "REQ-ANL-030"
      ]
    }
  ],
  "followUps": [
    {
      "title": "Swap the repo scaffold from Vite + React to Next.js (App Router)",
      "body": "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.",
      "references": []
    },
    {
      "title": "Set up the monorepo",
      "body": ": 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).",
      "references": [
        "REQ-POS-026"
      ]
    },
    {
      "title": "Wire the Clerk ??? Neon RLS pattern",
      "body": "(REQ-ARC-012.1) as the first piece of infrastructure ??? every schema decision downstream depends on tenant isolation being in place.",
      "references": [
        "REQ-ARC-012.1"
      ]
    },
    {
      "title": "Stand up Stripe Connect onboarding",
      "body": "for influencer payouts early, since KYC lead times are long.",
      "references": []
    },
    {
      "title": "Wire Runpod serverless endpoints",
      "body": "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.",
      "references": [
        "REQ-ARC-017",
        "REQ-ARC-028.1"
      ]
    },
    {
      "title": "Implement the proprietary POS sync foundation (DEC-004) next",
      "body": "??? it is the single highest-risk engineering area and directly shapes the POS and API data model.",
      "references": []
    }
  ],
  "futureThemes": [
    "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)."
  ],
  "hasGitHistory": true
}