{
  "test_id": "fable-5-1-request-preflight-v1",
  "api_call_performed": false,
  "scope": "Local request-shape and conversation-prefix validation only.",
  "total": 6,
  "passed": 6,
  "ready": 2,
  "review": 1,
  "blocked": 3,
  "results": [
    {
      "id": "auto-tool-safe-shape",
      "description": "Auto tool choice with a strict schema",
      "expected": "ready",
      "status": "ready",
      "passed": true,
      "findings": []
    },
    {
      "id": "forced-tool-blocked",
      "description": "Named tool forced on Fable 5.1",
      "expected": "blocked",
      "status": "blocked",
      "passed": true,
      "findings": [
        {
          "code": "forced_tool_choice",
          "level": "block",
          "message": "Fable 5.1 rejects forced tool choice. Use auto or none."
        }
      ]
    },
    {
      "id": "disabled-thinking-blocked",
      "description": "Thinking disabled on Fable 5.1",
      "expected": "blocked",
      "status": "blocked",
      "passed": true,
      "findings": [
        {
          "code": "unsupported_thinking_mode",
          "level": "block",
          "message": "Fable 5.1 does not accept explicitly disabled thinking."
        }
      ]
    },
    {
      "id": "append-only-history-ready",
      "description": "Append-only continued conversation",
      "expected": "ready",
      "status": "ready",
      "passed": true,
      "findings": []
    },
    {
      "id": "mutated-prefix-blocked",
      "description": "Earlier system and message content rewritten",
      "expected": "blocked",
      "status": "blocked",
      "passed": true,
      "findings": [
        {
          "code": "system_prefix_changed",
          "level": "block",
          "message": "The system prompt changed after a Fable 5.1 thinking block."
        },
        {
          "code": "message_prefix_changed",
          "level": "block",
          "message": "The prior conversation is not an unchanged prefix of the request."
        }
      ]
    },
    {
      "id": "downgrade-route-review",
      "description": "Fable 5.1 conversation routed back to Opus 5",
      "expected": "review",
      "status": "review",
      "passed": true,
      "findings": [
        {
          "code": "one_way_thinking_route",
          "level": "review",
          "message": "A route from Fable 5.1 to an older model is one-way for thinking blocks; expect the target model to re-plan."
        }
      ]
    }
  ],
  "executed_at": "2026-09-12T00:27:35.617Z",
  "fixture_sha256": "827b3e897e18616f29e943aa511c81ce09a5e7937589f7f0b40039ff5154279d",
  "runtime": "v24.19.0",
  "provider": null,
  "sdk": null
}
