{
  "api_checks_count": 0,
  "browser_checks_count": 1,
  "checks": [
    {
      "name": "task proof plan L2: 1 task browser check(s), 0 API check(s)",
      "passed": true
    },
    {
      "name": "readiness gate: app ready after 1 probe(s) (status 200)",
      "passed": true
    },
    {
      "name": "invoicing-this-months-turnover-scoped: step 1 navigate",
      "passed": true
    },
    {
      "name": "browser check 'invoicing-this-months-turnover-scoped' failed: Page.wait_for_selector: Timeout 30000ms exceeded.\nCall log:\n  - waiting for locator(\"a[href=\\\"/invoicing\\\"]\") to be visible",
      "passed": false
    }
  ],
  "console_errors_count": 0,
  "elapsed_ms": 45783,
  "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": 0,
      "network_errors": 2,
      "notes_checked": 10
    },
    "summary": "FAIL \u2014 1 browser check(s) failed"
  },
  "level": 2,
  "network_errors_count": 2,
  "passed": false,
  "proof_plan": {
    "api_checks_count": 0,
    "assertion_checks_count": 1,
    "checks_count": 1,
    "expected_result_count": 1,
    "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/20260615T075740Z-18771a7f/01-landing.png",
    "evidence/20260615T075740Z-18771a7f/02-post-login.png",
    "evidence/20260615T075740Z-18771a7f/03-invoicing-this-months-turnover-scoped-00-journey-start.png",
    "evidence/20260615T075740Z-18771a7f/03-invoicing-this-months-turnover-scoped-01-navigate.png",
    "evidence/20260615T075740Z-18771a7f/03-invoicing-this-months-turnover-scoped-failed.png"
  ],
  "summary": "FAIL \u2014 1 browser check(s) failed",
  "videos": []
}