{
  "url": "https://agentability.io/index/looker.html",
  "tier": "Lagging",
  "score": 34,
  "product": "Looker",
  "findings": [
    {
      "score": 0,
      "finding": "On errors return structured context (what failed, error code, offending field) in both UI and API — not an opaque 'Something went wrong'.",
      "check_id": "H1",
      "severity": "high",
      "principle": "handoffs"
    },
    {
      "score": 0,
      "finding": "Make every error state the next action ('Email is invalid — enter a valid address').",
      "check_id": "H2",
      "severity": "high",
      "principle": "handoffs"
    },
    {
      "score": 0,
      "finding": "Surface confidence/certainty on key outputs (a confidence field in API responses, or a 'verified vs best-guess' label in the UI).",
      "check_id": "T2",
      "severity": "high",
      "principle": "transparency"
    },
    {
      "score": 0,
      "finding": "Gate destructive actions behind an explicit, distinctly-labelled confirmation step — not a same-styled button.",
      "check_id": "C1",
      "severity": "high",
      "principle": "control"
    },
    {
      "score": 0,
      "finding": "Provide a labelled pause/cancel/stop control for long-running actions; give it an accessible name like 'Cancel import', not a bare icon.",
      "check_id": "C2",
      "severity": "high",
      "principle": "control"
    },
    {
      "score": 0,
      "finding": "Support undo/override on completed actions (an 'Undo' on destructive changes, editable results).",
      "check_id": "C3",
      "severity": "high",
      "principle": "control"
    }
  ],
  "audited_at": "2026-06-12",
  "page_scores": {
    "docs": 24.3,
    "pricing": 36.2,
    "homepage": 33.6
  },
  "principle_scores": {
    "status": 0.3,
    "control": 0.199,
    "chunking": 0.6,
    "defaults": 0.325,
    "handoffs": 0,
    "shadow_ui": 0.15,
    "transparency": 0.475,
    "machine_readability": 0.635
  }
}