{
  "feature_id": "F-015",
  "agent": "qa",
  "verdict": "APPROVED",
  "summary": "QA approved. Acceptance criteria are traced with structural evidence and green checks: Product JSON-LD exists, sitemap/robots build routes exist and exclude drafts through activeOnly search, redirects are stored/configured via REDIRECTS_JSON and return 301, public pages have canonical metadata, and verify.sh is green.",
  "acceptance": [
    {
      "criterion": "Product page embeds valid Product JSON-LD",
      "status": "PASS",
      "evidence": "json-ld.tsx builds @type Product and product page renders JsonLdScript; JSON is serialized and script-safe escaped"
    },
    {
      "criterion": "sitemap.xml lists active public URLs and excludes draft content",
      "status": "PASS",
      "evidence": "sitemap.ts includes static URLs, active product pagination through searchProducts, category tree and brands; backend SearchProducts uses activeOnly=true"
    },
    {
      "criterion": "Given stored redirect When old URL requested Then HTTP 301 to new URL",
      "status": "PASS",
      "evidence": "redirects.ts parses REDIRECTS_JSON into RedirectRepository; proxy.ts returns NextResponse.redirect(..., 301) for matched local path"
    },
    {
      "criterion": "Every public page has canonical URL",
      "status": "PASS",
      "evidence": "layout root canonical plus product/category/brand/search generateMetadata alternates canonical"
    },
    {
      "criterion": "verify.sh green",
      "status": "PASS",
      "evidence": "./scripts/verify.sh PASS"
    }
  ],
  "commands": [
    "rg structured-data and metadata route patterns: PASS",
    "cd project/storefront && npm run lint: PASS",
    "cd project/storefront && npm run typecheck: PASS",
    "cd project/storefront && npm run build: PASS; output includes /robots.txt, /sitemap.xml and Proxy",
    "cd project && npm run typecheck: PASS",
    "cd project && npm test: PASS; 17 passed, 7 skipped; 64 assertions passed, 33 skipped",
    "./scripts/verify.sh: PASS"
  ],
  "notes": [
    "External Google Rich Results/Lighthouse validators are not installed in this environment; QA used structural JSON-LD/canonical/build evidence."
  ],
  "timestamp": "2026-08-15T16:02:57Z"
}
