{
  "url": "http://127.0.0.1:8081/",
  "viewports": {
    "desktop": {
      "width": 1280,
      "height": 800,
      "status": 200,
      "title": "Helix",
      "hasCanvas": true,
      "bodyTextLen": 1045,
      "bodyTextHash": "697ba24b6c8752a35e99ac226131e3205ef408cff6e1a5f1d20de620d0afcfe3",
      "bodyTextPrefix": "HELIX FX DESK PAPER BOT IDLE EQUITY $10,000.00 OPEN P&L $0.00 DA",
      "horizontalOverflow": false,
      "consoleErrors": [],
      "pageErrors": [],
      "screenshot": "/workspace/screenshots/app-builder-built.png"
    },
    "mobile": {
      "width": 390,
      "height": 844,
      "status": 200,
      "title": "Helix",
      "hasCanvas": true,
      "bodyTextLen": 960,
      "bodyTextHash": "176917309cb63aca61929becdd56bb5c321cfa29f0ed54cd462336f20f0227ca",
      "bodyTextPrefix": "HELIX FX DESK EQUITY $10,000.00 OPEN P&L $0.00 EUR/USD +15.9 1.0",
      "horizontalOverflow": false,
      "consoleErrors": [],
      "pageErrors": [],
      "screenshot": "/workspace/screenshots/app-builder-built-mobile.png"
    }
  },
  "brandWarnings": [
    "BRAND WARNING: this looks like a game/canvas app but src/lib/og/site.json is missing \"type\": \"x:game\". X uses og:type=x:game to present the unfurl as a game card — set it in /workspace/src/lib/og/site.json per /workspace/.grok/skills/og/SKILL.md. Do not invent x:type or overload twitter:card as the game signal.",
    "BRAND WARNING: this looks like a game/canvas app but /workspace/public/x-banner.jpg is missing. Games need a 50:11 X feed card (1200×264 JPEG) at public/x-banner.jpg — open /workspace/.grok/skills/og/SKILL.md and finish the brand-asset pass."
  ],
  "authWarnings": [],
  "verdictFile": "/workspace/screenshots/app-builder-built.json",
  "divergesFromBaseline": false,
  "baselineReasons": []
}