{
  "generatedAt": "2026-07-21T21:41:11.671Z",
  "date": "2026-07-22",
  "timeZone": "Asia/Shanghai",
  "ok": true,
  "summary": {
    "totalChanges": 0,
    "filteredChanges": 0,
    "highRiskChanges": 0,
    "newProducts": 0,
    "contentChanges": 0,
    "storefrontPageChanges": 0,
    "visualChanges": 0,
    "navigationChanges": 0,
    "trackingChanges": 0,
    "seoAeoGeoChanges": 0,
    "themeCodeChanges": 0,
    "mediaFileChanges": 0,
    "otherChanges": 0
  },
  "categories": [
    {
      "id": "new_products",
      "label": "New Products",
      "count": 0
    },
    {
      "id": "seo_aeo_geo",
      "label": "SEO / AEO / GEO",
      "count": 0
    },
    {
      "id": "content_updates",
      "label": "Content / Articles",
      "count": 0
    },
    {
      "id": "storefront_pages",
      "label": "Front-end Pages",
      "count": 0
    },
    {
      "id": "visual_changes",
      "label": "Visual Screenshots",
      "count": 0
    },
    {
      "id": "navigation",
      "label": "Navigation Links",
      "count": 0
    },
    {
      "id": "tracking",
      "label": "Tracking Scripts",
      "count": 0
    },
    {
      "id": "merchandising",
      "label": "Merchandising",
      "count": 0
    },
    {
      "id": "theme_code",
      "label": "Theme / Code",
      "count": 0
    },
    {
      "id": "media_files",
      "label": "Media / Files",
      "count": 0
    },
    {
      "id": "other",
      "label": "Other",
      "count": 0
    }
  ],
  "executiveSummary": "No Shopify optimization changes were recorded for 2026-07-22.",
  "focusAreas": [
    {
      "label": "New products",
      "count": 0,
      "items": []
    },
    {
      "label": "SEO/AEO/GEO",
      "count": 0,
      "items": []
    },
    {
      "label": "Visual screenshots",
      "count": 0,
      "items": []
    },
    {
      "label": "Navigation links",
      "count": 0,
      "items": []
    },
    {
      "label": "Tracking scripts",
      "count": 0,
      "items": []
    },
    {
      "label": "High-risk changes",
      "count": 0,
      "items": []
    }
  ],
  "managementChecklist": [
    {
      "label": "Review high-risk changes",
      "status": "clear",
      "detail": "No high-risk changes recorded for this date.",
      "url": "/reports/store-audit/daily-work?date=2026-07-22&risk=high"
    },
    {
      "label": "Check SEO/AEO/GEO work",
      "status": "clear",
      "detail": "No SEO/AEO/GEO changes recorded.",
      "url": "/reports/store-audit/daily-work?date=2026-07-22&category=seo_aeo_geo"
    },
    {
      "label": "Open front-end visual evidence",
      "status": "needs_capture",
      "detail": "No screenshot capture manifest is available yet.",
      "url": "/reports/store-audit/screenshots"
    },
    {
      "label": "Confirm backup is ready",
      "status": "needs_action",
      "detail": "No Store Audit versioned backup has been created yet.",
      "url": "/api/reports/store-audit/backup"
    }
  ],
  "coverageNotes": [
    {
      "area": "Employee attribution",
      "status": "partial",
      "detail": "Shopify webhook/Admin resources do not consistently expose the staff member who made each edit. The report shows actor data when present; otherwise it falls back to source, webhook, or user-agent evidence."
    },
    {
      "area": "Realtime alert push",
      "status": "needs_configuration",
      "detail": "Set GROWTHOS_ALERT_WEBHOOK_URL to send high-risk changes to Feishu/WeChat/email or another webhook receiver."
    },
    {
      "area": "Visual monitoring",
      "status": "configured",
      "detail": "Screenshot browser is /usr/bin/google-chrome-stable."
    },
    {
      "area": "Rollback",
      "status": "needs_backup",
      "detail": "No latest versioned backup status is ready."
    }
  ],
  "reviewLinks": {
    "dailyWork": "/reports/store-audit/daily-work?date=2026-07-22",
    "events": "/reports/store-audit/events?since=2026-07-22T00%3A00%3A00",
    "evidence": "/reports/store-audit/evidence",
    "backup": "/api/reports/store-audit/backup",
    "screenshots": "/reports/store-audit/screenshots",
    "alerts": "/reports/store-audit/alerts"
  },
  "backup": {
    "generatedAt": "2026-07-21T21:41:11.669Z",
    "ok": false,
    "reason": "No Store Audit versioned backup has been created yet.",
    "backupDir": "/opt/growthos-petvibess/runtime/audit/versioned-backup",
    "latestDir": "/opt/growthos-petvibess/runtime/audit/versioned-backup/latest",
    "files": [
      {
        "name": "manifest.json",
        "path": "/opt/growthos-petvibess/runtime/audit/versioned-backup/latest/manifest.json",
        "present": false,
        "sizeBytes": 0,
        "modifiedAt": ""
      },
      {
        "name": "snapshot.json",
        "path": "/opt/growthos-petvibess/runtime/audit/versioned-backup/latest/snapshot.json",
        "present": false,
        "sizeBytes": 0,
        "modifiedAt": ""
      },
      {
        "name": "diff.json",
        "path": "/opt/growthos-petvibess/runtime/audit/versioned-backup/latest/diff.json",
        "present": false,
        "sizeBytes": 0,
        "modifiedAt": ""
      },
      {
        "name": "resources-by-type.json",
        "path": "/opt/growthos-petvibess/runtime/audit/versioned-backup/latest/resources-by-type.json",
        "present": false,
        "sizeBytes": 0,
        "modifiedAt": ""
      }
    ],
    "missingFiles": [
      "manifest.json",
      "snapshot.json",
      "diff.json",
      "resources-by-type.json"
    ],
    "restorePlan": [
      {
        "step": 1,
        "title": "Pick the backup point",
        "detail": "Create a Store Audit snapshot before attempting restore.",
        "ready": false
      },
      {
        "step": 2,
        "title": "Review diff evidence",
        "detail": "Open diff.json and resources-by-type.json to confirm which Shopify resources changed before choosing manual rollback actions.",
        "ready": false
      },
      {
        "step": 3,
        "title": "Restore manually in Shopify Admin",
        "detail": "Use the recorded resource data as evidence for manual rollback. This app does not write rollback changes automatically without explicit implementation and approval.",
        "ready": false
      },
      {
        "step": 4,
        "title": "Run a fresh audit",
        "detail": "After rollback, let AI generate a fresh Store Audit snapshot and verify daily-work plus event-chain integrity evidence.",
        "ready": false
      }
    ]
  },
  "screenshots": {
    "generatedAt": "2026-07-21T21:41:11.671Z",
    "ok": false,
    "screenshotDir": "/opt/growthos-petvibess/runtime/audit/screenshots",
    "browser": {
      "path": "/usr/bin/google-chrome-stable",
      "candidates": [
        "/usr/bin/google-chrome-stable",
        "/usr/bin/google-chrome",
        "/usr/bin/chromium",
        "/usr/bin/chromium-browser",
        "/snap/bin/chromium"
      ]
    },
    "latestCapture": null,
    "summary": {
      "screenshotCount": 0,
      "browserAvailable": true,
      "latestCaptureAvailable": false,
      "latestCaptureOk": false
    },
    "screenshots": []
  },
  "aiDailyReport": null,
  "items": []
}