{
  "api_checks_count": 0,
  "browser_checks_count": 2,
  "checks": [
    {
      "name": "task proof plan L2: 2 task browser check(s), 0 API check(s)",
      "passed": true
    },
    {
      "name": "readiness gate: app ready after 1 probe(s) (status 200)",
      "passed": true
    },
    {
      "name": "purchase-order-over-limit-auto-submits-for-approval: step 1 navigate",
      "passed": true
    },
    {
      "name": "purchase-order-over-limit-auto-submits-for-approval: step 2 input[placeholder=\"Search PO, supplier or project...\"]",
      "passed": true
    },
    {
      "name": "purchase-order-over-limit-auto-submits-for-approval: step 3 [data-testid=\"po-filter-pending-approval\"]",
      "passed": true
    },
    {
      "name": "browser check 'purchase-order-over-limit-auto-submits-for-approval' failed: Page.wait_for_selector: Timeout 30000ms exceeded.\nCall log:\n  - waiting for locator(\"tr:has-text(\\\"Pending Approval\\\")\") to be visible",
      "passed": false
    },
    {
      "name": "po-telegram-digest-excludes-requested-2026-06-16: step 1 navigate",
      "passed": true
    },
    {
      "name": "po-telegram-digest-excludes-requested-2026-06-16: step 2 a[href=\"/purchase-orders\"]",
      "passed": true
    },
    {
      "name": "po-telegram-digest-excludes-requested-2026-06-16: step 3 a[href=\"/purchase-orders\"]",
      "passed": true
    },
    {
      "name": "po-telegram-digest-excludes-requested-2026-06-16: step 4 input[placeholder=\"Search PO, supplier or project...\"]",
      "passed": true
    },
    {
      "name": "po-telegram-digest-excludes-requested-2026-06-16: step 5 [data-testid=\"po-filter-pending-approval\"]",
      "passed": true
    },
    {
      "name": "po-telegram-digest-excludes-requested-2026-06-16: step 6 [data-testid=\"po-filter-pending-approval\"]",
      "passed": true
    },
    {
      "name": "po-telegram-digest-excludes-requested-2026-06-16: step 7 Purchase Orders",
      "passed": true
    },
    {
      "name": "po-telegram-digest-excludes-requested-2026-06-16: browser flow reached target path /purchase-orders",
      "passed": true
    },
    {
      "name": "po-telegram-digest-excludes-requested-2026-06-16: text present: Purchase Orders",
      "passed": true
    }
  ],
  "console_errors_count": 29,
  "elapsed_ms": 102361,
  "failure": {
    "failure_type": "network_or_auth_failure",
    "next_action": "inspect auth/session/proxy and failed request status before changing UI",
    "schema_version": 1,
    "signals": {
      "console_errors": 29,
      "network_errors": 45,
      "notes_checked": 23
    },
    "summary": "FAIL \u2014 1 browser check(s) failed"
  },
  "level": 1,
  "network_errors_count": 45,
  "passed": false,
  "proof_plan": {
    "api_checks_count": 0,
    "assertion_checks_count": 2,
    "checks_count": 2,
    "expected_result_count": 2,
    "issues": [],
    "level": 2,
    "ok": true,
    "requirements": [
      {
        "detail": "Worker must declare task-specific browser_checks in .orch-done.json.",
        "key": "task_browser_checks_present",
        "passed": true
      },
      {
        "detail": "Browser checks must target changed feature routes and specific selectors/text/actions.",
        "key": "task_browser_checks_substantive",
        "passed": true
      },
      {
        "detail": "Browser checks must use concrete routes and stable user-facing selectors.",
        "key": "browser_checks_grounded",
        "passed": true
      },
      {
        "detail": "Level 2 browser checks must stay focused (40 actions max per check). Split broad regression journeys into separate focused checks or Level 3 recipes.",
        "key": "level2_scope_bounded",
        "passed": true
      },
      {
        "detail": "Level 2 requires an entry-to-target browser-flow check that starts at entry/login and navigates by visible controls. (For pure render assertions, set kind: static_render on each check.)",
        "key": "level2_entry_to_target_flow",
        "passed": true
      },
      {
        "detail": "Level 2 requires safe user actions such as click, fill, upload, select, or press. (For pure render assertions, set kind: static_render on each check.)",
        "key": "level2_user_actions",
        "passed": true
      },
      {
        "detail": "Level 2 requires selector/text assertions proving the changed UI state.",
        "key": "level2_assertions",
        "passed": true
      },
      {
        "detail": "Level 2 requires expected_result/success_criteria explaining what success looks like.",
        "key": "level2_expected_result",
        "passed": true
      },
      {
        "detail": "Level 2 requires at least one POSITIVE assertion \u2014 a concrete assert_text value (e.g. the corrected \u00a3 total) or that a specific element is present. Absence-only checks (assert_no_text) do not prove the fix; they pass on an empty or wrong page.",
        "key": "level2_positive_assertion",
        "passed": true
      }
    ]
  },
  "runtime_checks_count": 0,
  "schema_version": 1,
  "screenshots": [
    "evidence/20260616T151307Z-3a90cd62/01-landing.png",
    "evidence/20260616T151307Z-3a90cd62/02-post-login.png",
    "evidence/20260616T151307Z-3a90cd62/03-purchase-order-over-limit-auto-submits-for-approval-00-journey-start.png",
    "evidence/20260616T151307Z-3a90cd62/03-purchase-order-over-limit-auto-submits-for-approval-01-navigate.png",
    "evidence/20260616T151307Z-3a90cd62/03-purchase-order-over-limit-auto-submits-for-approval-02-input-placeholder-search-po-supplier-or-project.png",
    "evidence/20260616T151307Z-3a90cd62/03-purchase-order-over-limit-auto-submits-for-approval-02-input-placeholder-search-po-supplier-or-project-element.png",
    "evidence/20260616T151307Z-3a90cd62/03-purchase-order-over-limit-auto-submits-for-approval-03-data-testid-po-filter-pending-approval.png",
    "evidence/20260616T151307Z-3a90cd62/03-purchase-order-over-limit-auto-submits-for-approval-03-data-testid-po-filter-pending-approval-element.png",
    "evidence/20260616T151307Z-3a90cd62/03-purchase-order-over-limit-auto-submits-for-approval-failed.png",
    "evidence/20260616T151307Z-3a90cd62/04-po-telegram-digest-excludes-requested-2026-06-16-00-journey-start.png",
    "evidence/20260616T151307Z-3a90cd62/04-po-telegram-digest-excludes-requested-2026-06-16-01-navigate.png",
    "evidence/20260616T151307Z-3a90cd62/04-po-telegram-digest-excludes-requested-2026-06-16-02-a-href-purchase-orders.png",
    "evidence/20260616T151307Z-3a90cd62/04-po-telegram-digest-excludes-requested-2026-06-16-02-a-href-purchase-orders-element.png",
    "evidence/20260616T151307Z-3a90cd62/04-po-telegram-digest-excludes-requested-2026-06-16-03-a-href-purchase-orders.png",
    "evidence/20260616T151307Z-3a90cd62/04-po-telegram-digest-excludes-requested-2026-06-16-03-a-href-purchase-orders-element.png",
    "evidence/20260616T151307Z-3a90cd62/04-po-telegram-digest-excludes-requested-2026-06-16-04-input-placeholder-search-po-supplier-or-project.png",
    "evidence/20260616T151307Z-3a90cd62/04-po-telegram-digest-excludes-requested-2026-06-16-04-input-placeholder-search-po-supplier-or-project-element.png",
    "evidence/20260616T151307Z-3a90cd62/04-po-telegram-digest-excludes-requested-2026-06-16-05-data-testid-po-filter-pending-approval.png",
    "evidence/20260616T151307Z-3a90cd62/04-po-telegram-digest-excludes-requested-2026-06-16-05-data-testid-po-filter-pending-approval-element.png",
    "evidence/20260616T151307Z-3a90cd62/04-po-telegram-digest-excludes-requested-2026-06-16-06-data-testid-po-filter-pending-approval.png",
    "evidence/20260616T151307Z-3a90cd62/04-po-telegram-digest-excludes-requested-2026-06-16-06-data-testid-po-filter-pending-approval-element.png",
    "evidence/20260616T151307Z-3a90cd62/04-po-telegram-digest-excludes-requested-2026-06-16-07-purchase-orders.png",
    "evidence/20260616T151307Z-3a90cd62/04-po-telegram-digest-excludes-requested-2026-06-16.png"
  ],
  "summary": "FAIL \u2014 1 browser check(s) failed",
  "videos": []
}