47 lines
2.2 KiB
JSON
47 lines
2.2 KiB
JSON
{
|
|
"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"
|
|
}
|