{
  "case": "o03",
  "checks": {
    "有 step_finish 事件": true,
    "有可验收结果": true
  },
  "commands": [
    {
      "command": "opencode --pure run --format json --model qrfixture/qwen3.8-flash 'Reply with only QR-FIXTURE-OK.'",
      "exit": 0,
      "stdout": "{\"type\":\"step_start\",\"timestamp\":1793802068541,\"sessionID\":\"ses_e59109eecffeinxBV26veE7RW7\",\"part\":{\"id\":\"prt_1a6ef623b001aGm8NjVVHPO83k\",\"messageID\":\"msg_1a6ef618b001qjn60VJvYRipG2\",\"sessionID\":\"ses_e59109eecffeinxBV26veE7RW7\",\"snapshot\":\"906657215a9867c405452c7603121d3b216c2f3a\",\"type\":\"step-start\"}}\n{\"type\":\"text\",\"timestamp\":1793802068542,\"sessionID\":\"ses_e59109eecffeinxBV26veE7RW7\",\"part\":{\"id\":\"prt_1a6ef623c0021pr3WKcRL8IEjc\",\"messageID\":\"msg_1a6ef618b001qjn60VJvYRipG2\",\"sessionID\":\"ses_e59109eecffeinxBV26veE7RW7\",\"type\":\"text\",\"text\":\"QR-FIXTURE-OK\",\"time\":{\"start\":1793802068541,\"end\":1793802068541}}}\n{\"type\":\"step_finish\",\"timestamp\":1793802068584,\"sessionID\":\"ses_e59109eecffeinxBV26veE7RW7\",\"part\":{\"id\":\"prt_1a6ef623e0018BYsVQUuA9lxhD\",\"reason\":\"stop\",\"snapshot\":\"906657215a9867c405452c7603121d3b216c2f3a\",\"messageID\":\"msg_1a6ef618b001qjn60VJvYRipG2\",\"sessionID\":\"ses_e59109eecffeinxBV26veE7RW7\",\"type\":\"step-finish\",\"tokens\":{\"total\":13,\"input\":9,\"output\":4,\"reasoning\":0,\"cache\":{\"write\":0,\"read\":0}},\"cost\":0}}",
      "stderr": "Performing one time database migration, may take a few minutes...\nsqlite-migration:done\nDatabase migration complete."
    }
  ],
  "localRequests": [
    {
      "path": "/v1/chat/completions",
      "model": "qwen3.8-flash",
      "stream": true,
      "fixtureKeyPresent": true,
      "projectMarkerInBody": false
    },
    {
      "path": "/v1/chat/completions",
      "model": "qwen3.8-flash",
      "stream": true,
      "fixtureKeyPresent": true,
      "projectMarkerInBody": false
    }
  ],
  "passed": true,
  "mode": "isolated local fixture",
  "date": "2026-11-04"
}
