{
  "base_url": "http://127.0.0.1:30000/v1",
  "budget": {
    "max_completion_tokens": 8192,
    "reasoning_headroom_tokens": 6144,
    "visible_answer_tokens": 2048
  },
  "checks": [
    "smoke",
    "json",
    "tools",
    "streaming-tools",
    "tool-result",
    "responses",
    "image",
    "ocr"
  ],
  "evidence_policy": {
    "allowed_finish_reasons": [
      "stop",
      "tool_calls"
    ],
    "errors": [],
    "reasoning": "any"
  },
  "image_expect": [
    "CARD A",
    "17"
  ],
  "model": "llm.primary",
  "multimodal_input": {
    "bytes": 8679,
    "mime": "image/png",
    "sha256": "e02b7e290b35c966e27a0a4eb5ca9928555155409700510e5caf669956a7a3ee"
  },
  "observations": [
    {
      "content": "```python\nsum(xs)\n```\n\nThat's it \u2014 Python's built-in `sum()` does the job. For example:\n\n```python\nxs = [1, 2, 3, 4]\ntotal = sum(xs) # 10\n```\n\nIf you need it as a reusable function in one line:\n\n```python\ntotal = lambda xs: sum(xs)\n```\n\nOr, without the built-in (e.g., for learning purposes):\n\n```python\ntotal = functools.reduce(lambda a, b: a + b, xs, 0)\n```",
      "content_chars": 359,
      "content_excerpt": "```python\nsum(xs)\n```\n\nThat's it \u2014 Python's built-in `sum()` does the job. For example:\n\n```python\nxs = [1, 2, 3, 4]\ntotal = sum(xs) # 10\n```\n\nIf you need it as a reusable function in one line:\n\n```py",
      "finish_reason": "stop",
      "passed": true,
      "reasoning_chars": 803,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "seconds": 4.221,
      "test": "smoke",
      "usage": {
        "completion_tokens": 314,
        "prompt_tokens": 28,
        "total_tokens": 342
      },
      "validation_detail": "contains sum("
    },
    {
      "content": "{\"language\":\"python\",\"ok\":true}",
      "content_chars": 31,
      "content_excerpt": "{\"language\":\"python\",\"ok\":true}",
      "finish_reason": "stop",
      "passed": true,
      "reasoning_chars": 143,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "seconds": 0.659,
      "test": "json",
      "usage": {
        "completion_tokens": 44,
        "prompt_tokens": 30,
        "total_tokens": 74
      },
      "validation_detail": "parsed keys=['language', 'ok']"
    },
    {
      "content": "",
      "content_chars": 0,
      "content_excerpt": "",
      "finish_reason": "tool_calls",
      "passed": true,
      "reasoning_chars": 99,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "request_index": 0,
      "seconds": 7.089,
      "test": "tools",
      "usage": {
        "completion_tokens": 36,
        "prompt_tokens": 4967,
        "total_tokens": 5003
      },
      "validation_detail": "valid tool_call get_weather(city='Oakland')"
    },
    {
      "content": "",
      "content_chars": 0,
      "content_excerpt": "",
      "finish_reason": "tool_calls",
      "passed": true,
      "reasoning_chars": 81,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "request_index": 4,
      "seconds": 7.105,
      "test": "tools",
      "usage": {
        "completion_tokens": 33,
        "prompt_tokens": 4967,
        "total_tokens": 5000
      },
      "validation_detail": "valid tool_call get_weather(city='Oakland')"
    },
    {
      "content": "",
      "content_chars": 0,
      "content_excerpt": "",
      "finish_reason": "tool_calls",
      "passed": true,
      "reasoning_chars": 103,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "request_index": 1,
      "seconds": 7.721,
      "test": "tools",
      "usage": {
        "completion_tokens": 38,
        "prompt_tokens": 4967,
        "total_tokens": 5005
      },
      "validation_detail": "valid tool_call get_weather(city='Oakland')"
    },
    {
      "content": "",
      "content_chars": 0,
      "content_excerpt": "",
      "finish_reason": "tool_calls",
      "passed": true,
      "reasoning_chars": 121,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "request_index": 2,
      "seconds": 8.052,
      "test": "tools",
      "usage": {
        "completion_tokens": 40,
        "prompt_tokens": 4967,
        "total_tokens": 5007
      },
      "validation_detail": "valid tool_call get_weather(city='Oakland')"
    },
    {
      "content": "",
      "content_chars": 0,
      "content_excerpt": "",
      "finish_reason": "tool_calls",
      "passed": true,
      "reasoning_chars": 73,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "request_index": 6,
      "seconds": 8.837,
      "test": "tools",
      "usage": {
        "completion_tokens": 29,
        "prompt_tokens": 4967,
        "total_tokens": 4996
      },
      "validation_detail": "valid tool_call get_weather(city='Oakland')"
    },
    {
      "content": "",
      "content_chars": 0,
      "content_excerpt": "",
      "finish_reason": "tool_calls",
      "passed": true,
      "reasoning_chars": 94,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "request_index": 3,
      "seconds": 8.872,
      "test": "tools",
      "usage": {
        "completion_tokens": 34,
        "prompt_tokens": 4967,
        "total_tokens": 5001
      },
      "validation_detail": "valid tool_call get_weather(city='Oakland')"
    },
    {
      "content": "",
      "content_chars": 0,
      "content_excerpt": "",
      "finish_reason": "tool_calls",
      "passed": true,
      "reasoning_chars": 103,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "request_index": 5,
      "seconds": 9.488,
      "test": "tools",
      "usage": {
        "completion_tokens": 38,
        "prompt_tokens": 4967,
        "total_tokens": 5005
      },
      "validation_detail": "valid tool_call get_weather(city='Oakland')"
    },
    {
      "content": "",
      "content_chars": 0,
      "content_excerpt": "",
      "finish_reason": "tool_calls",
      "passed": true,
      "reasoning_chars": 81,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "request_index": 7,
      "seconds": 9.521,
      "test": "tools",
      "usage": {
        "completion_tokens": 33,
        "prompt_tokens": 4967,
        "total_tokens": 5000
      },
      "validation_detail": "valid tool_call get_weather(city='Oakland')"
    },
    {
      "content": "",
      "content_chars": 0,
      "content_excerpt": "",
      "finish_reason": "tool_calls",
      "passed": true,
      "reasoning_chars": 81,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "request_index": 8,
      "seconds": 10.586,
      "test": "tools",
      "usage": {
        "completion_tokens": 33,
        "prompt_tokens": 4967,
        "total_tokens": 5000
      },
      "validation_detail": "valid tool_call get_weather(city='Oakland')"
    },
    {
      "content": "",
      "content_chars": 0,
      "content_excerpt": "",
      "finish_reason": "tool_calls",
      "passed": true,
      "reasoning_chars": 81,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "request_index": 9,
      "seconds": 10.619,
      "test": "tools",
      "usage": {
        "completion_tokens": 33,
        "prompt_tokens": 4967,
        "total_tokens": 5000
      },
      "validation_detail": "valid tool_call get_weather(city='Oakland')"
    },
    {
      "content": "",
      "content_chars": 0,
      "content_excerpt": "",
      "finish_reason": "tool_calls",
      "passed": true,
      "reasoning_chars": 78,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "request_index": 12,
      "seconds": 11.236,
      "test": "tools",
      "usage": {
        "completion_tokens": 31,
        "prompt_tokens": 4967,
        "total_tokens": 4998
      },
      "validation_detail": "valid tool_call get_weather(city='Oakland')"
    },
    {
      "content": "",
      "content_chars": 0,
      "content_excerpt": "",
      "finish_reason": "tool_calls",
      "passed": true,
      "reasoning_chars": 93,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "request_index": 11,
      "seconds": 11.252,
      "test": "tools",
      "usage": {
        "completion_tokens": 34,
        "prompt_tokens": 4967,
        "total_tokens": 5001
      },
      "validation_detail": "valid tool_call get_weather(city='Oakland')"
    },
    {
      "content": "",
      "content_chars": 0,
      "content_excerpt": "",
      "finish_reason": "tool_calls",
      "passed": true,
      "reasoning_chars": 78,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "request_index": 14,
      "seconds": 12.366,
      "test": "tools",
      "usage": {
        "completion_tokens": 30,
        "prompt_tokens": 4967,
        "total_tokens": 4997
      },
      "validation_detail": "valid tool_call get_weather(city='Oakland')"
    },
    {
      "content": "",
      "content_chars": 0,
      "content_excerpt": "",
      "finish_reason": "tool_calls",
      "passed": true,
      "reasoning_chars": 94,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "request_index": 10,
      "seconds": 12.384,
      "test": "tools",
      "usage": {
        "completion_tokens": 34,
        "prompt_tokens": 4967,
        "total_tokens": 5001
      },
      "validation_detail": "valid tool_call get_weather(city='Oakland')"
    },
    {
      "content": "",
      "content_chars": 0,
      "content_excerpt": "",
      "finish_reason": "tool_calls",
      "passed": true,
      "reasoning_chars": 78,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "request_index": 17,
      "seconds": 12.399,
      "test": "tools",
      "usage": {
        "completion_tokens": 31,
        "prompt_tokens": 4967,
        "total_tokens": 4998
      },
      "validation_detail": "valid tool_call get_weather(city='Oakland')"
    },
    {
      "content": "",
      "content_chars": 0,
      "content_excerpt": "",
      "finish_reason": "tool_calls",
      "passed": true,
      "reasoning_chars": 103,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "request_index": 13,
      "seconds": 12.698,
      "test": "tools",
      "usage": {
        "completion_tokens": 38,
        "prompt_tokens": 4967,
        "total_tokens": 5005
      },
      "validation_detail": "valid tool_call get_weather(city='Oakland')"
    },
    {
      "content": "",
      "content_chars": 0,
      "content_excerpt": "",
      "finish_reason": "tool_calls",
      "passed": true,
      "reasoning_chars": 71,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "request_index": 16,
      "seconds": 14.057,
      "test": "tools",
      "usage": {
        "completion_tokens": 30,
        "prompt_tokens": 4967,
        "total_tokens": 4997
      },
      "validation_detail": "valid tool_call get_weather(city='Oakland')"
    },
    {
      "content": "",
      "content_chars": 0,
      "content_excerpt": "",
      "finish_reason": "tool_calls",
      "passed": true,
      "reasoning_chars": 78,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "request_index": 15,
      "seconds": 14.093,
      "test": "tools",
      "usage": {
        "completion_tokens": 31,
        "prompt_tokens": 4967,
        "total_tokens": 4998
      },
      "validation_detail": "valid tool_call get_weather(city='Oakland')"
    },
    {
      "content": "",
      "content_chars": 0,
      "content_excerpt": "",
      "finish_reason": "tool_calls",
      "passed": true,
      "reasoning_chars": 103,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "request_index": 19,
      "seconds": 14.21,
      "test": "tools",
      "usage": {
        "completion_tokens": 38,
        "prompt_tokens": 4967,
        "total_tokens": 5005
      },
      "validation_detail": "valid tool_call get_weather(city='Oakland')"
    },
    {
      "content": "",
      "content_chars": 0,
      "content_excerpt": "",
      "finish_reason": "tool_calls",
      "passed": true,
      "reasoning_chars": 143,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "request_index": 18,
      "seconds": 14.302,
      "test": "tools",
      "usage": {
        "completion_tokens": 44,
        "prompt_tokens": 4967,
        "total_tokens": 5011
      },
      "validation_detail": "valid tool_call get_weather(city='Oakland')"
    },
    {
      "content_chars": 0,
      "content_excerpt": "",
      "event_count": 34,
      "finish_reason": "tool_calls",
      "passed": true,
      "reasoning_chars": 123,
      "reasoning_field": "stream_delta",
      "reasoning_tokens": null,
      "seconds": 0.644,
      "sse_done": true,
      "test": "streaming-tools",
      "usage": {
        "completion_tokens": 42,
        "prompt_tokens": 166,
        "total_tokens": 208
      },
      "validation_detail": "valid tool_call get_weather(city='Oakland')"
    },
    {
      "content": "",
      "content_chars": 0,
      "content_excerpt": "",
      "finish_reason": "tool_calls",
      "passed": true,
      "reasoning_chars": 123,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "seconds": 0.647,
      "test": "tool-result-initial",
      "usage": {
        "completion_tokens": 42,
        "prompt_tokens": 166,
        "total_tokens": 208
      },
      "validation_detail": "valid tool_call get_weather(city='Oakland')"
    },
    {
      "content": "OAKLAND 72F",
      "content_chars": 11,
      "content_excerpt": "OAKLAND 72F",
      "finish_reason": "stop",
      "passed": true,
      "reasoning_chars": 163,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "seconds": 0.736,
      "test": "tool-result-continuation",
      "usage": {
        "completion_tokens": 50,
        "prompt_tokens": 70,
        "total_tokens": 120
      },
      "validation_detail": "tool result retained"
    },
    {
      "content_chars": 5,
      "content_excerpt": "READY",
      "finish_reason": "stop",
      "passed": true,
      "reasoning_chars": 0,
      "reasoning_field": null,
      "reasoning_tokens": null,
      "response_status": "completed",
      "seconds": 0.979,
      "test": "responses",
      "usage": {
        "input_tokens": 16,
        "output_tokens": 69,
        "total_tokens": 85
      },
      "validation_detail": "completed exact READY"
    },
    {
      "content": "# Image Description\n\nThis image shows a simple card or label with a plain white background containing two lines of black text in a sans-serif font:\n\n## Key Information\n\n| Field | Value |\n|-------|-------|\n| **Card Identifier** | CARD A |\n| **Value** | 17 |\n\n## Details\n\n- **Text content:** The card is labeled \"CARD A\" at the top, followed by \"VALUE 17\" positioned below it with vertical spacing between the two lines.\n- **Style:** Minimalist design \u2014 black text on a white background with no borders, graphics, or additional decorations.\n- **Status:** The card appears clean and legible, with no visible damage, markings, or annotations.\n\nThis appears to be a card identifier from a card set, game, experiment, or data collection system, where \"Card A\" is assigned the numeric value of 17.",
      "content_chars": 790,
      "content_excerpt": "# Image Description\n\nThis image shows a simple card or label with a plain white background containing two lines of black text in a sans-serif font:\n\n## Key Information\n\n| Field | Value |\n|-------|----",
      "expected": [
        "CARD A",
        "17"
      ],
      "finish_reason": "stop",
      "image": {
        "bytes": 8679,
        "mime": "image/png",
        "sha256": "e02b7e290b35c966e27a0a4eb5ca9928555155409700510e5caf669956a7a3ee"
      },
      "passed": true,
      "reasoning_chars": 543,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "seconds": 4.145,
      "test": "image",
      "usage": {
        "completion_tokens": 311,
        "prompt_tokens": 566,
        "total_tokens": 877
      },
      "validation_detail": "all expected text present"
    },
    {
      "content": "CARD A\n\nVALUE 17",
      "content_chars": 16,
      "content_excerpt": "CARD A\n\nVALUE 17",
      "expected": [
        "CARD A",
        "17"
      ],
      "finish_reason": "stop",
      "image": {
        "bytes": 8679,
        "mime": "image/png",
        "sha256": "e02b7e290b35c966e27a0a4eb5ca9928555155409700510e5caf669956a7a3ee"
      },
      "passed": true,
      "reasoning_chars": 75,
      "reasoning_field": "reasoning_content",
      "reasoning_tokens": null,
      "seconds": 0.54,
      "test": "ocr",
      "usage": {
        "completion_tokens": 29,
        "prompt_tokens": 567,
        "total_tokens": 596
      },
      "validation_detail": "all expected text present"
    }
  ],
  "ocr_expect": [
    "CARD A",
    "17"
  ],
  "passed": true,
  "results": [
    {
      "detail": "4.2s got=\"```python\\nsum(xs)\\n```\\n\\nThat's it \u2014 Python's built-\" finish='stop' visible=359 reasoning_chars=803 reasoning_tokens=None",
      "name": "smoke (short coding)",
      "passed": true
    },
    {
      "detail": "parsed keys=['language', 'ok'] finish='stop' visible=31 reasoning_chars=143 reasoning_tokens=None",
      "name": "structured JSON",
      "passed": true
    },
    {
      "detail": "20/20 clean (sample: 7.1s valid tool_call get_weather(city='Oakland') finish='tool_calls' visible=0 reasoning_chars=99 reasoning_tokens=None)",
      "name": "shared-prefix tool batch x20",
      "passed": true
    },
    {
      "detail": "0.6s done=True events=34 valid tool_call get_weather(city='Oakland') finish='tool_calls'",
      "name": "streaming tool call",
      "passed": true
    },
    {
      "detail": "1.4s tool result retained finish='stop' visible=11 reasoning_chars=163 reasoning_tokens=None",
      "name": "tool-result continuation",
      "passed": true
    },
    {
      "detail": "1.0s status='completed' output='READY' reasoning_chars=0",
      "name": "Responses API subset",
      "passed": true
    },
    {
      "detail": "4.1s all expected text present finish='stop' visible=790 reasoning_chars=543 reasoning_tokens=None",
      "name": "general image understanding",
      "passed": true
    },
    {
      "detail": "0.5s all expected text present finish='stop' visible=16 reasoning_chars=75 reasoning_tokens=None",
      "name": "verbatim image OCR",
      "passed": true
    }
  ],
  "schema_version": "preflight/v2",
  "thinking": {
    "chat_template_kwargs": null,
    "mode": "default",
    "reasoning_effort": "max"
  },
  "video_expect": [],
  "video_input": null
}
