{
  "model": "google/gemini-3-flash-preview",
  "n": 288,
  "score": {
    "n": 288,
    "accuracy": 96.1,
    "invented_count": 3,
    "missed_count": 33,
    "weight_zero_violation_count": 3,
    "latency_p50_ms": 1680,
    "latency_p95_ms": 8083,
    "cost_usd": 0.189913,
    "accuracy_by_band": {
      "A": {
        "n": 90,
        "accuracy": 100,
        "invented_count": 0,
        "missed_count": 0,
        "weight_zero_violation_count": 0,
        "latency_p50_ms": 1568,
        "latency_p95_ms": 4157,
        "cost_usd": 0.053353
      },
      "B": {
        "n": 96,
        "accuracy": 92.6,
        "invented_count": 3,
        "missed_count": 18,
        "weight_zero_violation_count": 3,
        "latency_p50_ms": 1718,
        "latency_p95_ms": 8347,
        "cost_usd": 0.059941
      },
      "C": {
        "n": 84,
        "accuracy": 100,
        "invented_count": 0,
        "missed_count": 0,
        "weight_zero_violation_count": 0,
        "latency_p50_ms": 1670,
        "latency_p95_ms": 4969,
        "cost_usd": 0.050284
      },
      "D": {
        "n": 18,
        "accuracy": 93.3,
        "invented_count": 0,
        "missed_count": 15,
        "weight_zero_violation_count": 0,
        "latency_p50_ms": 3165,
        "latency_p95_ms": 12565,
        "cost_usd": 0.026335
      }
    }
  },
  "caption": "OpenRouter bench envelope (temperature 0, seed, json_schema name=prescription_rows, strict:false, usage.include). Production interpretPrescription is Base44 InvokeLLM({prompt, response_json_schema}) with model omitted, then sane() drops declined rows. Same RULES string; different envelope.",
  "runs": [
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "A1",
      "seed": 1,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 180
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 180,
            "rpe": null,
            "note": "@100kg r180"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1243,
      "cost_usd": 0.000609,
      "tokens_prompt": 876,
      "tokens_completion": 57,
      "ts": "2026-09-11T16:39:32.744Z",
      "diffs": [
        {
          "row": "A1",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "A1",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "A1",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "A1",
          "field": "rest_seconds",
          "expected": 180,
          "actual": 180,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @100kg r180"
        }
      ],
      "context": "context/A1.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A1.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "A1",
      "seed": 2,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 180
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 180,
            "rpe": null,
            "note": "@100kg r180"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1460,
      "cost_usd": 0.000609,
      "tokens_prompt": 876,
      "tokens_completion": 57,
      "ts": "2026-09-11T16:39:32.962Z",
      "diffs": [
        {
          "row": "A1",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "A1",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "A1",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "A1",
          "field": "rest_seconds",
          "expected": 180,
          "actual": 180,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @100kg r180"
        }
      ],
      "context": "context/A1.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A1.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "A3",
      "seed": 2,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1463,
      "cost_usd": 0.0005725,
      "tokens_prompt": 869,
      "tokens_completion": 46,
      "ts": "2026-09-11T16:39:32.968Z",
      "diffs": [
        {
          "row": "A3",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "A3",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "A3",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 BW"
        }
      ],
      "context": "context/A3.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A3.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "A2",
      "seed": 3,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 60,
        "rest": 90,
        "rpe": 8
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 60,
            "rest_seconds": 90,
            "rpe": 8,
            "note": "RPE8"
          }
        ]
      },
      "score_line": 100,
      "fields": 5,
      "ok": 5,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1789,
      "cost_usd": 0.0005865,
      "tokens_prompt": 879,
      "tokens_completion": 49,
      "ts": "2026-09-11T16:39:33.293Z",
      "diffs": [
        {
          "row": "A2",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "A2",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "A2",
          "field": "weight_kg",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        },
        {
          "row": "A2",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        },
        {
          "row": "A2",
          "field": "rpe",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4x8 @60kg RPE8 rest 90s"
        }
      ],
      "context": "context/A2.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A2.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "A1",
      "seed": 3,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 180
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 180,
            "rpe": null,
            "note": "@100kg r180"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1915,
      "cost_usd": 0.000609,
      "tokens_prompt": 876,
      "tokens_completion": 57,
      "ts": "2026-09-11T16:39:33.418Z",
      "diffs": [
        {
          "row": "A1",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "A1",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "A1",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "A1",
          "field": "rest_seconds",
          "expected": 180,
          "actual": 180,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @100kg r180"
        }
      ],
      "context": "context/A1.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A1.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "A2",
      "seed": 2,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 60,
        "rest": 90,
        "rpe": 8
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 60,
            "rest_seconds": 90,
            "rpe": 8,
            "note": "RPE8"
          }
        ]
      },
      "score_line": 100,
      "fields": 5,
      "ok": 5,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2121,
      "cost_usd": 0.0005865,
      "tokens_prompt": 879,
      "tokens_completion": 49,
      "ts": "2026-09-11T16:39:33.625Z",
      "diffs": [
        {
          "row": "A2",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "A2",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "A2",
          "field": "weight_kg",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        },
        {
          "row": "A2",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        },
        {
          "row": "A2",
          "field": "rpe",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4x8 @60kg RPE8 rest 90s"
        }
      ],
      "context": "context/A2.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A2.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "A3",
      "seed": 1,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2365,
      "cost_usd": 0.0005725,
      "tokens_prompt": 869,
      "tokens_completion": 46,
      "ts": "2026-09-11T16:39:33.869Z",
      "diffs": [
        {
          "row": "A3",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "A3",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "A3",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 BW"
        }
      ],
      "context": "context/A3.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A3.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "A3",
      "seed": 3,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1368,
      "cost_usd": 0.0005725,
      "tokens_prompt": 869,
      "tokens_completion": 46,
      "ts": "2026-09-11T16:39:34.113Z",
      "diffs": [
        {
          "row": "A3",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "A3",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "A3",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 BW"
        }
      ],
      "context": "context/A3.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A3.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "A4",
      "seed": 2,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": 80
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 80,
            "rest_seconds": null,
            "rpe": null,
            "note": "8/6/4 @80kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1494,
      "cost_usd": 0.0006045,
      "tokens_prompt": 873,
      "tokens_completion": 56,
      "ts": "2026-09-11T16:39:34.463Z",
      "diffs": [
        {
          "row": "A4",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "A4",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "A4",
          "field": "weight_kg",
          "expected": 80,
          "actual": 80,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "8/6/4 @80kg"
        }
      ],
      "context": "context/A4.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A4.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "A2",
      "seed": 1,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 60,
        "rest": 90,
        "rpe": 8
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 60,
            "rest_seconds": 90,
            "rpe": 8,
            "note": "RPE8"
          }
        ]
      },
      "score_line": 100,
      "fields": 5,
      "ok": 5,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3640,
      "cost_usd": 0.0005865,
      "tokens_prompt": 879,
      "tokens_completion": 49,
      "ts": "2026-09-11T16:39:35.143Z",
      "diffs": [
        {
          "row": "A2",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "A2",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "A2",
          "field": "weight_kg",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        },
        {
          "row": "A2",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        },
        {
          "row": "A2",
          "field": "rpe",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4x8 @60kg RPE8 rest 90s"
        }
      ],
      "context": "context/A2.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A2.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "A5",
      "seed": 1,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 120
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 120,
            "rpe": null,
            "note": "@100kg descanso 2 min"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1928,
      "cost_usd": 0.000609,
      "tokens_prompt": 876,
      "tokens_completion": 57,
      "ts": "2026-09-11T16:39:35.347Z",
      "diffs": [
        {
          "row": "A5",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "A5",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "A5",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "A5",
          "field": "rest_seconds",
          "expected": 120,
          "actual": 120,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @100kg descanso 2 min"
        }
      ],
      "context": "context/A5.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A5.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "A5",
      "seed": 2,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 120
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 120,
            "rpe": null,
            "note": "@100kg descanso 2 min"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1835,
      "cost_usd": 0.000609,
      "tokens_prompt": 876,
      "tokens_completion": 57,
      "ts": "2026-09-11T16:39:35.460Z",
      "diffs": [
        {
          "row": "A5",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "A5",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "A5",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "A5",
          "field": "rest_seconds",
          "expected": 120,
          "actual": 120,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @100kg descanso 2 min"
        }
      ],
      "context": "context/A5.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A5.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "A4",
      "seed": 3,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": 80
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 80,
            "rest_seconds": null,
            "rpe": null,
            "note": "8/6/4 @80kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2219,
      "cost_usd": 0.0006045,
      "tokens_prompt": 873,
      "tokens_completion": 56,
      "ts": "2026-09-11T16:39:35.512Z",
      "diffs": [
        {
          "row": "A4",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "A4",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "A4",
          "field": "weight_kg",
          "expected": 80,
          "actual": 80,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "8/6/4 @80kg"
        }
      ],
      "context": "context/A4.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A4.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "A6",
      "seed": 1,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 40,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 40,
            "rest_seconds": 90,
            "rpe": null,
            "note": "3x10 @40kg 休息90秒"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1664,
      "cost_usd": 0.0006185,
      "tokens_prompt": 877,
      "tokens_completion": 60,
      "ts": "2026-09-11T16:39:35.778Z",
      "diffs": [
        {
          "row": "A6",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "A6",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "A6",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        },
        {
          "row": "A6",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 @40kg 休息90秒"
        }
      ],
      "context": "context/A6.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A6.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "A6",
      "seed": 2,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 40,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 40,
            "rest_seconds": 90,
            "rpe": null,
            "note": "3x10 @40kg 休息90秒"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1426,
      "cost_usd": 0.0006185,
      "tokens_prompt": 877,
      "tokens_completion": 60,
      "ts": "2026-09-11T16:39:35.890Z",
      "diffs": [
        {
          "row": "A6",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "A6",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "A6",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        },
        {
          "row": "A6",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 @40kg 休息90秒"
        }
      ],
      "context": "context/A6.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A6.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "A5",
      "seed": 3,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 120
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 120,
            "rpe": null,
            "note": "@100kg descanso 2 min"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2343,
      "cost_usd": 0.000609,
      "tokens_prompt": 876,
      "tokens_completion": 57,
      "ts": "2026-09-11T16:39:36.212Z",
      "diffs": [
        {
          "row": "A5",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "A5",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "A5",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "A5",
          "field": "rest_seconds",
          "expected": 120,
          "actual": 120,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @100kg descanso 2 min"
        }
      ],
      "context": "context/A5.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A5.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B1",
      "seed": 3,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "heavy-ish, last set to failure"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1481,
      "cost_usd": 0.000595,
      "tokens_prompt": 878,
      "tokens_completion": 52,
      "ts": "2026-09-11T16:39:36.993Z",
      "diffs": [
        {
          "row": "B1",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "B1",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "B1",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 sets of 8, heavy-ish, last set to failure"
        }
      ],
      "context": "context/B1.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B1.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B1",
      "seed": 2,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "heavy-ish, last set to failure"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1652,
      "cost_usd": 0.000595,
      "tokens_prompt": 878,
      "tokens_completion": 52,
      "ts": "2026-09-11T16:39:37.112Z",
      "diffs": [
        {
          "row": "B1",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "B1",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "B1",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 sets of 8, heavy-ish, last set to failure"
        }
      ],
      "context": "context/B1.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B1.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "A6",
      "seed": 3,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 40,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 40,
            "rest_seconds": 90,
            "rpe": null,
            "note": "3x10 @40kg 休息90秒"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1975,
      "cost_usd": 0.0006185,
      "tokens_prompt": 877,
      "tokens_completion": 60,
      "ts": "2026-09-11T16:39:37.119Z",
      "diffs": [
        {
          "row": "A6",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "A6",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "A6",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        },
        {
          "row": "A6",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 @40kg 休息90秒"
        }
      ],
      "context": "context/A6.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A6.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B1",
      "seed": 1,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "heavy-ish, last set to failure"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2558,
      "cost_usd": 0.000595,
      "tokens_prompt": 878,
      "tokens_completion": 52,
      "ts": "2026-09-11T16:39:37.905Z",
      "diffs": [
        {
          "row": "B1",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "B1",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "B1",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 sets of 8, heavy-ish, last set to failure"
        }
      ],
      "context": "context/B1.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B1.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B2",
      "seed": 3,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "working up to 140kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1770,
      "cost_usd": 0.000597,
      "tokens_prompt": 882,
      "tokens_completion": 52,
      "ts": "2026-09-11T16:39:37.982Z",
      "diffs": [
        {
          "row": "B2",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "B2",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "B2",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "ladder 5,4,3,2,1 working up to 140kg"
        }
      ],
      "context": "context/B2.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B2.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "A4",
      "seed": 1,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": 80
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 80,
            "rest_seconds": null,
            "rpe": null,
            "note": "8/6/4 @80kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 5790,
      "cost_usd": 0.0006045,
      "tokens_prompt": 873,
      "tokens_completion": 56,
      "ts": "2026-09-11T16:39:38.752Z",
      "diffs": [
        {
          "row": "A4",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "A4",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "A4",
          "field": "weight_kg",
          "expected": 80,
          "actual": 80,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "8/6/4 @80kg"
        }
      ],
      "context": "context/A4.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A4.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B3",
      "seed": 1,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "work up to a heavy triple, then two back-off sets at 85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1966,
      "cost_usd": 0.0006235,
      "tokens_prompt": 881,
      "tokens_completion": 61,
      "ts": "2026-09-11T16:39:38.960Z",
      "diffs": [
        {
          "row": "B3",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "B3",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "B3",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "work up to a heavy triple, then two back-off sets at 85%"
        }
      ],
      "context": "context/B3.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B3.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B3",
      "seed": 2,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "work up to a heavy triple, then two back-off sets at 85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1959,
      "cost_usd": 0.0006235,
      "tokens_prompt": 881,
      "tokens_completion": 61,
      "ts": "2026-09-11T16:39:39.072Z",
      "diffs": [
        {
          "row": "B3",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "B3",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "B3",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "work up to a heavy triple, then two back-off sets at 85%"
        }
      ],
      "context": "context/B3.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B3.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B4",
      "seed": 1,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 12,
        "reps": 3,
        "weight": 70
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 12,
            "reps": 3,
            "weight_kg": 70,
            "rest_seconds": 60,
            "rpe": null,
            "note": "EMOM 12 min: 3 cleans @70kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1405,
      "cost_usd": 0.0006215,
      "tokens_prompt": 877,
      "tokens_completion": 61,
      "ts": "2026-09-11T16:39:39.310Z",
      "diffs": [
        {
          "row": "B4",
          "field": "sets",
          "expected": 12,
          "actual": 12,
          "verdict": "match"
        },
        {
          "row": "B4",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "B4",
          "field": "weight_kg",
          "expected": 70,
          "actual": 70,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "EMOM 12 min: 3 cleans @70kg"
        }
      ],
      "context": "context/B4.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B4.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B3",
      "seed": 3,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "work up to a heavy triple, then two back-off sets at 85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2325,
      "cost_usd": 0.0006235,
      "tokens_prompt": 881,
      "tokens_completion": 61,
      "ts": "2026-09-11T16:39:39.444Z",
      "diffs": [
        {
          "row": "B3",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "B3",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "B3",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "work up to a heavy triple, then two back-off sets at 85%"
        }
      ],
      "context": "context/B3.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B3.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B4",
      "seed": 2,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 12,
        "reps": 3,
        "weight": 70
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 12,
            "reps": 3,
            "weight_kg": 70,
            "rest_seconds": 60,
            "rpe": null,
            "note": "EMOM 12 min: 3 cleans @70kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1473,
      "cost_usd": 0.0006215,
      "tokens_prompt": 877,
      "tokens_completion": 61,
      "ts": "2026-09-11T16:39:39.455Z",
      "diffs": [
        {
          "row": "B4",
          "field": "sets",
          "expected": 12,
          "actual": 12,
          "verdict": "match"
        },
        {
          "row": "B4",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "B4",
          "field": "weight_kg",
          "expected": 70,
          "actual": 70,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "EMOM 12 min: 3 cleans @70kg"
        }
      ],
      "context": "context/B4.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B4.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B2",
      "seed": 2,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "working up to 140kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3614,
      "cost_usd": 0.000597,
      "tokens_prompt": 882,
      "tokens_completion": 52,
      "ts": "2026-09-11T16:39:39.504Z",
      "diffs": [
        {
          "row": "B2",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "B2",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "B2",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "ladder 5,4,3,2,1 working up to 140kg"
        }
      ],
      "context": "context/B2.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B2.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B2",
      "seed": 1,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "working up to 140kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3864,
      "cost_usd": 0.000597,
      "tokens_prompt": 882,
      "tokens_completion": 52,
      "ts": "2026-09-11T16:39:39.642Z",
      "diffs": [
        {
          "row": "B2",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "B2",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "B2",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "ladder 5,4,3,2,1 working up to 140kg"
        }
      ],
      "context": "context/B2.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B2.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B4",
      "seed": 3,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 12,
        "reps": 3,
        "weight": 70
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 12,
            "reps": 3,
            "weight_kg": 70,
            "rest_seconds": 60,
            "rpe": null,
            "note": "EMOM 12 min: 3 cleans @70kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1354,
      "cost_usd": 0.0006215,
      "tokens_prompt": 877,
      "tokens_completion": 61,
      "ts": "2026-09-11T16:39:40.107Z",
      "diffs": [
        {
          "row": "B4",
          "field": "sets",
          "expected": 12,
          "actual": 12,
          "verdict": "match"
        },
        {
          "row": "B4",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "B4",
          "field": "weight_kg",
          "expected": 70,
          "actual": 70,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "EMOM 12 min: 3 cleans @70kg"
        }
      ],
      "context": "context/B4.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B4.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B5",
      "seed": 2,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 1,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "AMRAP 8 min of 5 pull-ups + 10 push-ups"
          }
        ]
      },
      "score_line": 50,
      "fields": 2,
      "ok": 1,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 1660,
      "cost_usd": 0.0006265,
      "tokens_prompt": 881,
      "tokens_completion": 62,
      "ts": "2026-09-11T16:39:40.733Z",
      "diffs": [
        {
          "row": "B5",
          "field": "reps",
          "expected": 5,
          "actual": 1,
          "verdict": "miss"
        },
        {
          "row": "B5",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "AMRAP 8 min of 5 pull-ups + 10 push-ups"
        }
      ],
      "context": "context/B5.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B5.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B5",
      "seed": 1,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 1,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "AMRAP 8 min of 5 pull-ups + 10 push-ups"
          }
        ]
      },
      "score_line": 50,
      "fields": 2,
      "ok": 1,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 1992,
      "cost_usd": 0.0006265,
      "tokens_prompt": 881,
      "tokens_completion": 62,
      "ts": "2026-09-11T16:39:40.953Z",
      "diffs": [
        {
          "row": "B5",
          "field": "reps",
          "expected": 5,
          "actual": 1,
          "verdict": "miss"
        },
        {
          "row": "B5",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "AMRAP 8 min of 5 pull-ups + 10 push-ups"
        }
      ],
      "context": "context/B5.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B5.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B6",
      "seed": 2,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 4,
        "reps": 12,
        "weight": 40
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 12,
            "weight_kg": 40,
            "rest_seconds": null,
            "rpe": null,
            "note": "pyramid 12-10-8-6 adding 5kg each set from 40kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1499,
      "cost_usd": 0.0006555,
      "tokens_prompt": 885,
      "tokens_completion": 71,
      "ts": "2026-09-11T16:39:40.954Z",
      "diffs": [
        {
          "row": "B6",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "B6",
          "field": "reps",
          "expected": 12,
          "actual": 12,
          "verdict": "match"
        },
        {
          "row": "B6",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "pyramid 12-10-8-6 adding 5kg each set from 40kg"
        }
      ],
      "context": "context/B6.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B6.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B5",
      "seed": 3,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 1,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "AMRAP 8 min of 5 pull-ups + 10 push-ups"
          }
        ]
      },
      "score_line": 50,
      "fields": 2,
      "ok": 1,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 1675,
      "cost_usd": 0.0006265,
      "tokens_prompt": 881,
      "tokens_completion": 62,
      "ts": "2026-09-11T16:39:40.985Z",
      "diffs": [
        {
          "row": "B5",
          "field": "reps",
          "expected": 5,
          "actual": 1,
          "verdict": "miss"
        },
        {
          "row": "B5",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "AMRAP 8 min of 5 pull-ups + 10 push-ups"
        }
      ],
      "context": "context/B5.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B5.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B6",
      "seed": 1,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 4,
        "reps": 12,
        "weight": 40
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 12,
            "weight_kg": 40,
            "rest_seconds": null,
            "rpe": null,
            "note": "pyramid 12-10-8-6 adding 5kg each set from 40kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1628,
      "cost_usd": 0.0006555,
      "tokens_prompt": 885,
      "tokens_completion": 71,
      "ts": "2026-09-11T16:39:41.073Z",
      "diffs": [
        {
          "row": "B6",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "B6",
          "field": "reps",
          "expected": 12,
          "actual": 12,
          "verdict": "match"
        },
        {
          "row": "B6",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "pyramid 12-10-8-6 adding 5kg each set from 40kg"
        }
      ],
      "context": "context/B6.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B6.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B7",
      "seed": 1,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "na każdą stronę, ciężar taki żeby ostatnie 2 były trudne"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1515,
      "cost_usd": 0.0006215,
      "tokens_prompt": 883,
      "tokens_completion": 60,
      "ts": "2026-09-11T16:39:41.158Z",
      "diffs": [
        {
          "row": "B7",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "B7",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "B7",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x8 na każdą stronę, ciężar taki żeby ostatnie 2 były trudne"
        }
      ],
      "context": "context/B7.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B7.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B6",
      "seed": 3,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 4,
        "reps": 12,
        "weight": 40
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 12,
            "weight_kg": 40,
            "rest_seconds": null,
            "rpe": null,
            "note": "pyramid 12-10-8-6 adding 5kg each set from 40kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1914,
      "cost_usd": 0.0006555,
      "tokens_prompt": 885,
      "tokens_completion": 71,
      "ts": "2026-09-11T16:39:41.418Z",
      "diffs": [
        {
          "row": "B6",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "B6",
          "field": "reps",
          "expected": 12,
          "actual": 12,
          "verdict": "match"
        },
        {
          "row": "B6",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "pyramid 12-10-8-6 adding 5kg each set from 40kg"
        }
      ],
      "context": "context/B6.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B6.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B7",
      "seed": 2,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "na każdą stronę, ciężar taki żeby ostatnie 2 były trudne"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1431,
      "cost_usd": 0.0006215,
      "tokens_prompt": 883,
      "tokens_completion": 60,
      "ts": "2026-09-11T16:39:41.538Z",
      "diffs": [
        {
          "row": "B7",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "B7",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "B7",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x8 na każdą stronę, ciężar taki żeby ostatnie 2 były trudne"
        }
      ],
      "context": "context/B7.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B7.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B8",
      "seed": 1,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "tempo 3-1-3, 70% ciężaru maksymalnego"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1194,
      "cost_usd": 0.000625,
      "tokens_prompt": 890,
      "tokens_completion": 60,
      "ts": "2026-09-11T16:39:42.147Z",
      "diffs": [
        {
          "row": "B8",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "B8",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "B8",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "tempo 3-1-3, 4 serie po 6 powtórzeń, 70% ciężaru maksymalnego"
        }
      ],
      "context": "context/B8.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B8.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B8",
      "seed": 3,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "tempo 3-1-3, 70% ciężaru maksymalnego"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1207,
      "cost_usd": 0.000625,
      "tokens_prompt": 890,
      "tokens_completion": 60,
      "ts": "2026-09-11T16:39:42.192Z",
      "diffs": [
        {
          "row": "B8",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "B8",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "B8",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "tempo 3-1-3, 4 serie po 6 powtórzeń, 70% ciężaru maksymalnego"
        }
      ],
      "context": "context/B8.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B8.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B7",
      "seed": 3,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "na każdą stronę, ciężar taki żeby ostatnie 2 były trudne"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1505,
      "cost_usd": 0.0006215,
      "tokens_prompt": 883,
      "tokens_completion": 60,
      "ts": "2026-09-11T16:39:42.239Z",
      "diffs": [
        {
          "row": "B7",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "B7",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "B7",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x8 na każdą stronę, ciężar taki żeby ostatnie 2 były trudne"
        }
      ],
      "context": "context/B7.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B7.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "C1",
      "seed": 2,
      "band": "C",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Sente o glúteo em cada repetição"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1255,
      "cost_usd": 0.0005985,
      "tokens_prompt": 873,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:39:42.413Z",
      "diffs": [
        {
          "row": "C1",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Sente o glúteo em cada repetição"
        }
      ],
      "context": "context/C1.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/C1.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "B8",
      "seed": 2,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "tempo 3-1-3, 70% ciężaru maksymalnego"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1486,
      "cost_usd": 0.000625,
      "tokens_prompt": 890,
      "tokens_completion": 60,
      "ts": "2026-09-11T16:39:42.440Z",
      "diffs": [
        {
          "row": "B8",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "B8",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "B8",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "tempo 3-1-3, 4 serie po 6 powtórzeń, 70% ciężaru maksymalnego"
        }
      ],
      "context": "context/B8.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B8.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "C1",
      "seed": 1,
      "band": "C",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Sente o glúteo em cada repetição"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1768,
      "cost_usd": 0.0005985,
      "tokens_prompt": 873,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:39:42.841Z",
      "diffs": [
        {
          "row": "C1",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Sente o glúteo em cada repetição"
        }
      ],
      "context": "context/C1.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/C1.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "C1",
      "seed": 3,
      "band": "C",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Sente o glúteo em cada repetição"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1459,
      "cost_usd": 0.0005985,
      "tokens_prompt": 873,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:39:42.878Z",
      "diffs": [
        {
          "row": "C1",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Sente o glúteo em cada repetição"
        }
      ],
      "context": "context/C1.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/C1.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "C3",
      "seed": 1,
      "band": "C",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Focus on bracing, film the top set"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1263,
      "cost_usd": 0.0005915,
      "tokens_prompt": 871,
      "tokens_completion": 52,
      "ts": "2026-09-11T16:39:43.502Z",
      "diffs": [
        {
          "row": "C3",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Focus on bracing, film the top set"
        }
      ],
      "context": "context/C3.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/C3.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "C2",
      "seed": 1,
      "band": "C",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 20,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 band pull-aparts between sets"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2006,
      "cost_usd": 0.0005985,
      "tokens_prompt": 873,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:39:43.544Z",
      "diffs": [
        {
          "row": "C2",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "20 band pull-aparts between sets"
        }
      ],
      "context": "context/C2.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/C2.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "C2",
      "seed": 3,
      "band": "C",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 20,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 band pull-aparts between sets"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1422,
      "cost_usd": 0.0005985,
      "tokens_prompt": 873,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:39:43.615Z",
      "diffs": [
        {
          "row": "C2",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "20 band pull-aparts between sets"
        }
      ],
      "context": "context/C2.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/C2.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "C4",
      "seed": 1,
      "band": "C",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "zapytaj mnie jak pójdzie"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1146,
      "cost_usd": 0.0005915,
      "tokens_prompt": 871,
      "tokens_completion": 52,
      "ts": "2026-09-11T16:39:43.988Z",
      "diffs": [
        {
          "row": "C4",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "zapytaj mnie jak pójdzie"
        }
      ],
      "context": "context/C4.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/C4.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "C2",
      "seed": 2,
      "band": "C",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 20,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 band pull-aparts between sets"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1842,
      "cost_usd": 0.0005985,
      "tokens_prompt": 873,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:39:43.989Z",
      "diffs": [
        {
          "row": "C2",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "20 band pull-aparts between sets"
        }
      ],
      "context": "context/C2.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/C2.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "C3",
      "seed": 2,
      "band": "C",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Focus on bracing, film the top set"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1625,
      "cost_usd": 0.0005915,
      "tokens_prompt": 871,
      "tokens_completion": 52,
      "ts": "2026-09-11T16:39:44.039Z",
      "diffs": [
        {
          "row": "C3",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Focus on bracing, film the top set"
        }
      ],
      "context": "context/C3.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/C3.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "C4",
      "seed": 2,
      "band": "C",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "zapytaj mnie jak pójdzie"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1992,
      "cost_usd": 0.0005915,
      "tokens_prompt": 871,
      "tokens_completion": 52,
      "ts": "2026-09-11T16:39:44.870Z",
      "diffs": [
        {
          "row": "C4",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "zapytaj mnie jak pójdzie"
        }
      ],
      "context": "context/C4.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/C4.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "C3",
      "seed": 3,
      "band": "C",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Focus on bracing, film the top set"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2451,
      "cost_usd": 0.0005915,
      "tokens_prompt": 871,
      "tokens_completion": 52,
      "ts": "2026-09-11T16:39:44.892Z",
      "diffs": [
        {
          "row": "C3",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Focus on bracing, film the top set"
        }
      ],
      "context": "context/C3.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/C3.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-en-bodyweight-self",
      "seed": 1,
      "band": "A",
      "locale": "en",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1154,
      "cost_usd": 0.0005725,
      "tokens_prompt": 869,
      "tokens_completion": 46,
      "ts": "2026-09-11T16:39:45.143Z",
      "diffs": [
        {
          "row": "M-A-en-bodyweight-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-A-en-bodyweight-self",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-A-en-bodyweight-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 BW"
        }
      ],
      "context": "context/M-A-en-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-en-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "C4",
      "seed": 3,
      "band": "C",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "zapytaj mnie jak pójdzie"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1830,
      "cost_usd": 0.0005915,
      "tokens_prompt": 871,
      "tokens_completion": 52,
      "ts": "2026-09-11T16:39:45.332Z",
      "diffs": [
        {
          "row": "C4",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "zapytaj mnie jak pójdzie"
        }
      ],
      "context": "context/C4.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/C4.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-en-bodyweight-self",
      "seed": 2,
      "band": "A",
      "locale": "en",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1298,
      "cost_usd": 0.0005725,
      "tokens_prompt": 869,
      "tokens_completion": 46,
      "ts": "2026-09-11T16:39:45.338Z",
      "diffs": [
        {
          "row": "M-A-en-bodyweight-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-A-en-bodyweight-self",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-A-en-bodyweight-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 BW"
        }
      ],
      "context": "context/M-A-en-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-en-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-en-barbell-coach",
      "seed": 3,
      "band": "A",
      "locale": "en",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 180
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 180,
            "rpe": null,
            "note": "@100kg r180"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1414,
      "cost_usd": 0.000609,
      "tokens_prompt": 876,
      "tokens_completion": 57,
      "ts": "2026-09-11T16:39:45.402Z",
      "diffs": [
        {
          "row": "M-A-en-barbell-coach",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-en-barbell-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-en-barbell-coach",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "M-A-en-barbell-coach",
          "field": "rest_seconds",
          "expected": 180,
          "actual": 180,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @100kg r180"
        }
      ],
      "context": "context/M-A-en-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-en-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-en-barbell-coach",
      "seed": 2,
      "band": "A",
      "locale": "en",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 180
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 180,
            "rpe": null,
            "note": "@100kg r180"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1898,
      "cost_usd": 0.000609,
      "tokens_prompt": 876,
      "tokens_completion": 57,
      "ts": "2026-09-11T16:39:45.513Z",
      "diffs": [
        {
          "row": "M-A-en-barbell-coach",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-en-barbell-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-en-barbell-coach",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "M-A-en-barbell-coach",
          "field": "rest_seconds",
          "expected": 180,
          "actual": 180,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @100kg r180"
        }
      ],
      "context": "context/M-A-en-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-en-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-en-barbell-coach",
      "seed": 1,
      "band": "A",
      "locale": "en",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 180
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 180,
            "rpe": null,
            "note": "@100kg r180"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1988,
      "cost_usd": 0.000609,
      "tokens_prompt": 876,
      "tokens_completion": 57,
      "ts": "2026-09-11T16:39:45.532Z",
      "diffs": [
        {
          "row": "M-A-en-barbell-coach",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-en-barbell-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-en-barbell-coach",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "M-A-en-barbell-coach",
          "field": "rest_seconds",
          "expected": 180,
          "actual": 180,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @100kg r180"
        }
      ],
      "context": "context/M-A-en-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-en-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-en-conditioning-coach",
      "seed": 1,
      "band": "A",
      "locale": "en",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 20,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 20,
            "rest_seconds": 60,
            "rpe": null,
            "note": "4x8 @20kg r60"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1295,
      "cost_usd": 0.000605,
      "tokens_prompt": 874,
      "tokens_completion": 56,
      "ts": "2026-09-11T16:39:46.187Z",
      "diffs": [
        {
          "row": "M-A-en-conditioning-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-A-en-conditioning-coach",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-A-en-conditioning-coach",
          "field": "weight_kg",
          "expected": 20,
          "actual": 20,
          "verdict": "match"
        },
        {
          "row": "M-A-en-conditioning-coach",
          "field": "rest_seconds",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4x8 @20kg r60"
        }
      ],
      "context": "context/M-A-en-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-en-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-pl-bodyweight-coach",
      "seed": 1,
      "band": "A",
      "locale": "pl",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 12,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 12,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1024,
      "cost_usd": 0.0005725,
      "tokens_prompt": 869,
      "tokens_completion": 46,
      "ts": "2026-09-11T16:39:46.556Z",
      "diffs": [
        {
          "row": "M-A-pl-bodyweight-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-bodyweight-coach",
          "field": "reps",
          "expected": 12,
          "actual": 12,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x12 BW"
        }
      ],
      "context": "context/M-A-pl-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-pl-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-en-conditioning-coach",
      "seed": 3,
      "band": "A",
      "locale": "en",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 20,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 20,
            "rest_seconds": 60,
            "rpe": null,
            "note": "4x8 @20kg r60"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1231,
      "cost_usd": 0.000605,
      "tokens_prompt": 874,
      "tokens_completion": 56,
      "ts": "2026-09-11T16:39:46.563Z",
      "diffs": [
        {
          "row": "M-A-en-conditioning-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-A-en-conditioning-coach",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-A-en-conditioning-coach",
          "field": "weight_kg",
          "expected": 20,
          "actual": 20,
          "verdict": "match"
        },
        {
          "row": "M-A-en-conditioning-coach",
          "field": "rest_seconds",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4x8 @20kg r60"
        }
      ],
      "context": "context/M-A-en-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-en-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-pl-barbell-self",
      "seed": 3,
      "band": "A",
      "locale": "pl",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 120
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 120,
            "rpe": null,
            "note": "przerwa 2 min"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1240,
      "cost_usd": 0.0006005,
      "tokens_prompt": 877,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:39:46.753Z",
      "diffs": [
        {
          "row": "M-A-pl-barbell-self",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-barbell-self",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-barbell-self",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-barbell-self",
          "field": "rest_seconds",
          "expected": 120,
          "actual": 120,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @100kg przerwa 2 min"
        }
      ],
      "context": "context/M-A-pl-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-pl-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-pl-barbell-self",
      "seed": 2,
      "band": "A",
      "locale": "pl",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 120
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 120,
            "rpe": null,
            "note": "przerwa 2 min"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1763,
      "cost_usd": 0.0006005,
      "tokens_prompt": 877,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:39:47.166Z",
      "diffs": [
        {
          "row": "M-A-pl-barbell-self",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-barbell-self",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-barbell-self",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-barbell-self",
          "field": "rest_seconds",
          "expected": 120,
          "actual": 120,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @100kg przerwa 2 min"
        }
      ],
      "context": "context/M-A-pl-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-pl-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-en-bodyweight-self",
      "seed": 3,
      "band": "A",
      "locale": "en",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2399,
      "cost_usd": 0.0005725,
      "tokens_prompt": 869,
      "tokens_completion": 46,
      "ts": "2026-09-11T16:39:47.270Z",
      "diffs": [
        {
          "row": "M-A-en-bodyweight-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-A-en-bodyweight-self",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-A-en-bodyweight-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 BW"
        }
      ],
      "context": "context/M-A-en-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-en-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-en-conditioning-coach",
      "seed": 2,
      "band": "A",
      "locale": "en",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 20,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 20,
            "rest_seconds": 60,
            "rpe": null,
            "note": "4x8 @20kg r60"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2153,
      "cost_usd": 0.000605,
      "tokens_prompt": 874,
      "tokens_completion": 56,
      "ts": "2026-09-11T16:39:47.297Z",
      "diffs": [
        {
          "row": "M-A-en-conditioning-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-A-en-conditioning-coach",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-A-en-conditioning-coach",
          "field": "weight_kg",
          "expected": 20,
          "actual": 20,
          "verdict": "match"
        },
        {
          "row": "M-A-en-conditioning-coach",
          "field": "rest_seconds",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4x8 @20kg r60"
        }
      ],
      "context": "context/M-A-en-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-en-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-pl-bodyweight-coach",
      "seed": 2,
      "band": "A",
      "locale": "pl",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 12,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 12,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1369,
      "cost_usd": 0.0005725,
      "tokens_prompt": 869,
      "tokens_completion": 46,
      "ts": "2026-09-11T16:39:47.557Z",
      "diffs": [
        {
          "row": "M-A-pl-bodyweight-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-bodyweight-coach",
          "field": "reps",
          "expected": 12,
          "actual": 12,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x12 BW"
        }
      ],
      "context": "context/M-A-pl-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-pl-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-pl-bodyweight-coach",
      "seed": 3,
      "band": "A",
      "locale": "pl",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 12,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 12,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1417,
      "cost_usd": 0.0005725,
      "tokens_prompt": 869,
      "tokens_completion": 46,
      "ts": "2026-09-11T16:39:47.974Z",
      "diffs": [
        {
          "row": "M-A-pl-bodyweight-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-bodyweight-coach",
          "field": "reps",
          "expected": 12,
          "actual": 12,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x12 BW"
        }
      ],
      "context": "context/M-A-pl-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-pl-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-pl-endurance-self",
      "seed": 1,
      "band": "A",
      "locale": "pl",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 6,
        "reps": 8,
        "weight": 0,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 6,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": 90,
            "rpe": null,
            "note": "@0 r90"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1424,
      "cost_usd": 0.000586,
      "tokens_prompt": 872,
      "tokens_completion": 50,
      "ts": "2026-09-11T16:39:47.987Z",
      "diffs": [
        {
          "row": "M-A-pl-endurance-self",
          "field": "sets",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-endurance-self",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-endurance-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-endurance-self",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "6x8 @0 r90"
        }
      ],
      "context": "context/M-A-pl-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-pl-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-pl-endurance-self",
      "seed": 3,
      "band": "A",
      "locale": "pl",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 6,
        "reps": 8,
        "weight": 0,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 6,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": 90,
            "rpe": null,
            "note": "@0 r90"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 895,
      "cost_usd": 0.000586,
      "tokens_prompt": 872,
      "tokens_completion": 50,
      "ts": "2026-09-11T16:39:48.061Z",
      "diffs": [
        {
          "row": "M-A-pl-endurance-self",
          "field": "sets",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-endurance-self",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-endurance-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-endurance-self",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "6x8 @0 r90"
        }
      ],
      "context": "context/M-A-pl-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-pl-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-pl-endurance-self",
      "seed": 2,
      "band": "A",
      "locale": "pl",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 6,
        "reps": 8,
        "weight": 0,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 6,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": 90,
            "rpe": null,
            "note": "@0 r90"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1322,
      "cost_usd": 0.000586,
      "tokens_prompt": 872,
      "tokens_completion": 50,
      "ts": "2026-09-11T16:39:48.075Z",
      "diffs": [
        {
          "row": "M-A-pl-endurance-self",
          "field": "sets",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-endurance-self",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-endurance-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-endurance-self",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "6x8 @0 r90"
        }
      ],
      "context": "context/M-A-pl-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-pl-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-es-barbell-coach",
      "seed": 1,
      "band": "A",
      "locale": "es",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": 80,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": 80,
            "rest_seconds": 90,
            "rpe": null,
            "note": "@80kg descanso 90s"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1146,
      "cost_usd": 0.000603,
      "tokens_prompt": 876,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:39:48.417Z",
      "diffs": [
        {
          "row": "M-A-es-barbell-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-A-es-barbell-coach",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "M-A-es-barbell-coach",
          "field": "weight_kg",
          "expected": 80,
          "actual": 80,
          "verdict": "match"
        },
        {
          "row": "M-A-es-barbell-coach",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4x6 @80kg descanso 90s"
        }
      ],
      "context": "context/M-A-es-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-es-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-es-conditioning-self",
      "seed": 2,
      "band": "A",
      "locale": "es",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 40,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 40,
            "rest_seconds": 60,
            "rpe": null,
            "note": "@40kg r60"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1014,
      "cost_usd": 0.000596,
      "tokens_prompt": 874,
      "tokens_completion": 53,
      "ts": "2026-09-11T16:39:49.001Z",
      "diffs": [
        {
          "row": "M-A-es-conditioning-self",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-es-conditioning-self",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-es-conditioning-self",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        },
        {
          "row": "M-A-es-conditioning-self",
          "field": "rest_seconds",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @40kg r60"
        }
      ],
      "context": "context/M-A-es-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-es-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-es-barbell-coach",
      "seed": 2,
      "band": "A",
      "locale": "es",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": 80,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": 80,
            "rest_seconds": 90,
            "rpe": null,
            "note": "@80kg descanso 90s"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1725,
      "cost_usd": 0.000603,
      "tokens_prompt": 876,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:39:49.023Z",
      "diffs": [
        {
          "row": "M-A-es-barbell-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-A-es-barbell-coach",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "M-A-es-barbell-coach",
          "field": "weight_kg",
          "expected": 80,
          "actual": 80,
          "verdict": "match"
        },
        {
          "row": "M-A-es-barbell-coach",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4x6 @80kg descanso 90s"
        }
      ],
      "context": "context/M-A-es-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-es-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-es-conditioning-self",
      "seed": 1,
      "band": "A",
      "locale": "es",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 40,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 40,
            "rest_seconds": 60,
            "rpe": null,
            "note": "@40kg r60"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1340,
      "cost_usd": 0.000596,
      "tokens_prompt": 874,
      "tokens_completion": 53,
      "ts": "2026-09-11T16:39:49.314Z",
      "diffs": [
        {
          "row": "M-A-es-conditioning-self",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-es-conditioning-self",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-es-conditioning-self",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        },
        {
          "row": "M-A-es-conditioning-self",
          "field": "rest_seconds",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @40kg r60"
        }
      ],
      "context": "context/M-A-es-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-es-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-es-endurance-coach",
      "seed": 1,
      "band": "A",
      "locale": "es",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 8,
        "reps": 1,
        "weight": null,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 8,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": 60,
            "rpe": null,
            "note": "8x200m descanso 60s"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1356,
      "cost_usd": 0.0006055,
      "tokens_prompt": 875,
      "tokens_completion": 56,
      "ts": "2026-09-11T16:39:49.432Z",
      "diffs": [
        {
          "row": "M-A-es-endurance-coach",
          "field": "sets",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-A-es-endurance-coach",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "M-A-es-endurance-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "M-A-es-endurance-coach",
          "field": "rest_seconds",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "8x200m descanso 60s"
        }
      ],
      "context": "context/M-A-es-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-es-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-es-conditioning-self",
      "seed": 3,
      "band": "A",
      "locale": "es",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 40,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 40,
            "rest_seconds": 60,
            "rpe": null,
            "note": "@40kg r60"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1388,
      "cost_usd": 0.000596,
      "tokens_prompt": 874,
      "tokens_completion": 53,
      "ts": "2026-09-11T16:39:49.450Z",
      "diffs": [
        {
          "row": "M-A-es-conditioning-self",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-es-conditioning-self",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-es-conditioning-self",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        },
        {
          "row": "M-A-es-conditioning-self",
          "field": "rest_seconds",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @40kg r60"
        }
      ],
      "context": "context/M-A-es-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-es-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-es-endurance-coach",
      "seed": 2,
      "band": "A",
      "locale": "es",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 8,
        "reps": 1,
        "weight": null,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 8,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": 60,
            "rpe": null,
            "note": "8x200m descanso 60s"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1235,
      "cost_usd": 0.0006055,
      "tokens_prompt": 875,
      "tokens_completion": 56,
      "ts": "2026-09-11T16:39:49.652Z",
      "diffs": [
        {
          "row": "M-A-es-endurance-coach",
          "field": "sets",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-A-es-endurance-coach",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "M-A-es-endurance-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "M-A-es-endurance-coach",
          "field": "rest_seconds",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "8x200m descanso 60s"
        }
      ],
      "context": "context/M-A-es-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-es-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-fr-barbell-self",
      "seed": 2,
      "band": "A",
      "locale": "fr",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 90,
        "rest": 120
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 90,
            "rest_seconds": 120,
            "rpe": null,
            "note": "@90kg repos 2 min"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1106,
      "cost_usd": 0.0006025,
      "tokens_prompt": 875,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:39:50.420Z",
      "diffs": [
        {
          "row": "M-A-fr-barbell-self",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-barbell-self",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-barbell-self",
          "field": "weight_kg",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-barbell-self",
          "field": "rest_seconds",
          "expected": 120,
          "actual": 120,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @90kg repos 2 min"
        }
      ],
      "context": "context/M-A-fr-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-fr-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-es-endurance-coach",
      "seed": 3,
      "band": "A",
      "locale": "es",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 8,
        "reps": 1,
        "weight": null,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 8,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": 60,
            "rpe": null,
            "note": "8x200m descanso 60s"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1568,
      "cost_usd": 0.0006055,
      "tokens_prompt": 875,
      "tokens_completion": 56,
      "ts": "2026-09-11T16:39:50.570Z",
      "diffs": [
        {
          "row": "M-A-es-endurance-coach",
          "field": "sets",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-A-es-endurance-coach",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "M-A-es-endurance-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "M-A-es-endurance-coach",
          "field": "rest_seconds",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "8x200m descanso 60s"
        }
      ],
      "context": "context/M-A-es-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-es-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-fr-barbell-self",
      "seed": 1,
      "band": "A",
      "locale": "fr",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 90,
        "rest": 120
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 90,
            "rest_seconds": 120,
            "rpe": null,
            "note": "@90kg repos 2 min"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1611,
      "cost_usd": 0.0006025,
      "tokens_prompt": 875,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:39:50.634Z",
      "diffs": [
        {
          "row": "M-A-fr-barbell-self",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-barbell-self",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-barbell-self",
          "field": "weight_kg",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-barbell-self",
          "field": "rest_seconds",
          "expected": 120,
          "actual": 120,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @90kg repos 2 min"
        }
      ],
      "context": "context/M-A-fr-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-fr-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-fr-bodyweight-coach",
      "seed": 2,
      "band": "A",
      "locale": "fr",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "poids du corps"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1388,
      "cost_usd": 0.0005825,
      "tokens_prompt": 871,
      "tokens_completion": 49,
      "ts": "2026-09-11T16:39:51.041Z",
      "diffs": [
        {
          "row": "M-A-fr-bodyweight-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-bodyweight-coach",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 poids du corps"
        }
      ],
      "context": "context/M-A-fr-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-fr-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-fr-bodyweight-coach",
      "seed": 1,
      "band": "A",
      "locale": "fr",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "poids du corps"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1667,
      "cost_usd": 0.0005825,
      "tokens_prompt": 871,
      "tokens_completion": 49,
      "ts": "2026-09-11T16:39:51.117Z",
      "diffs": [
        {
          "row": "M-A-fr-bodyweight-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-bodyweight-coach",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 poids du corps"
        }
      ],
      "context": "context/M-A-fr-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-fr-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-fr-barbell-self",
      "seed": 3,
      "band": "A",
      "locale": "fr",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 90,
        "rest": 120
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 90,
            "rest_seconds": 120,
            "rpe": null,
            "note": "@90kg repos 2 min"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1706,
      "cost_usd": 0.0006025,
      "tokens_prompt": 875,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:39:51.139Z",
      "diffs": [
        {
          "row": "M-A-fr-barbell-self",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-barbell-self",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-barbell-self",
          "field": "weight_kg",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-barbell-self",
          "field": "rest_seconds",
          "expected": 120,
          "actual": 120,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @90kg repos 2 min"
        }
      ],
      "context": "context/M-A-fr-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-fr-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-fr-bodyweight-coach",
      "seed": 3,
      "band": "A",
      "locale": "fr",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "poids du corps"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1592,
      "cost_usd": 0.0005825,
      "tokens_prompt": 871,
      "tokens_completion": 49,
      "ts": "2026-09-11T16:39:52.013Z",
      "diffs": [
        {
          "row": "M-A-fr-bodyweight-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-bodyweight-coach",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 poids du corps"
        }
      ],
      "context": "context/M-A-fr-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-fr-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-fr-conditioning-self",
      "seed": 2,
      "band": "A",
      "locale": "fr",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": 30,
        "rest": 45
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": 30,
            "rest_seconds": 45,
            "rpe": null,
            "note": "@30kg r45"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1734,
      "cost_usd": 0.000596,
      "tokens_prompt": 874,
      "tokens_completion": 53,
      "ts": "2026-09-11T16:39:52.368Z",
      "diffs": [
        {
          "row": "M-A-fr-conditioning-self",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-conditioning-self",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-conditioning-self",
          "field": "weight_kg",
          "expected": 30,
          "actual": 30,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-conditioning-self",
          "field": "rest_seconds",
          "expected": 45,
          "actual": 45,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4x6 @30kg r45"
        }
      ],
      "context": "context/M-A-fr-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-fr-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-de-barbell-coach",
      "seed": 1,
      "band": "A",
      "locale": "de",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 180
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 180,
            "rpe": null,
            "note": "@100kg r180"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1363,
      "cost_usd": 0.000609,
      "tokens_prompt": 876,
      "tokens_completion": 57,
      "ts": "2026-09-11T16:39:52.481Z",
      "diffs": [
        {
          "row": "M-A-de-barbell-coach",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-de-barbell-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-de-barbell-coach",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "M-A-de-barbell-coach",
          "field": "rest_seconds",
          "expected": 180,
          "actual": 180,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @100kg r180"
        }
      ],
      "context": "context/M-A-de-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-de-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-de-barbell-coach",
      "seed": 2,
      "band": "A",
      "locale": "de",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 180
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 180,
            "rpe": null,
            "note": "@100kg r180"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1463,
      "cost_usd": 0.000609,
      "tokens_prompt": 876,
      "tokens_completion": 57,
      "ts": "2026-09-11T16:39:52.603Z",
      "diffs": [
        {
          "row": "M-A-de-barbell-coach",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-de-barbell-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-de-barbell-coach",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "M-A-de-barbell-coach",
          "field": "rest_seconds",
          "expected": 180,
          "actual": 180,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @100kg r180"
        }
      ],
      "context": "context/M-A-de-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-de-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-fr-conditioning-self",
      "seed": 3,
      "band": "A",
      "locale": "fr",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": 30,
        "rest": 45
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": 30,
            "rest_seconds": 45,
            "rpe": null,
            "note": "@30kg r45"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1689,
      "cost_usd": 0.000596,
      "tokens_prompt": 874,
      "tokens_completion": 53,
      "ts": "2026-09-11T16:39:52.730Z",
      "diffs": [
        {
          "row": "M-A-fr-conditioning-self",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-conditioning-self",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-conditioning-self",
          "field": "weight_kg",
          "expected": 30,
          "actual": 30,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-conditioning-self",
          "field": "rest_seconds",
          "expected": 45,
          "actual": 45,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4x6 @30kg r45"
        }
      ],
      "context": "context/M-A-fr-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-fr-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-de-barbell-coach",
      "seed": 3,
      "band": "A",
      "locale": "de",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 180
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 180,
            "rpe": null,
            "note": "@100kg r180"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1478,
      "cost_usd": 0.000609,
      "tokens_prompt": 876,
      "tokens_completion": 57,
      "ts": "2026-09-11T16:39:53.491Z",
      "diffs": [
        {
          "row": "M-A-de-barbell-coach",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-de-barbell-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-de-barbell-coach",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "M-A-de-barbell-coach",
          "field": "rest_seconds",
          "expected": 180,
          "actual": 180,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @100kg r180"
        }
      ],
      "context": "context/M-A-de-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-de-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-de-bodyweight-self",
      "seed": 1,
      "band": "A",
      "locale": "de",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1179,
      "cost_usd": 0.0005725,
      "tokens_prompt": 869,
      "tokens_completion": 46,
      "ts": "2026-09-11T16:39:53.547Z",
      "diffs": [
        {
          "row": "M-A-de-bodyweight-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-A-de-bodyweight-self",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-A-de-bodyweight-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 BW"
        }
      ],
      "context": "context/M-A-de-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-de-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-de-bodyweight-self",
      "seed": 3,
      "band": "A",
      "locale": "de",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1706,
      "cost_usd": 0.0005725,
      "tokens_prompt": 869,
      "tokens_completion": 46,
      "ts": "2026-09-11T16:39:54.310Z",
      "diffs": [
        {
          "row": "M-A-de-bodyweight-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-A-de-bodyweight-self",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-A-de-bodyweight-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 BW"
        }
      ],
      "context": "context/M-A-de-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-de-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-fr-conditioning-self",
      "seed": 1,
      "band": "A",
      "locale": "fr",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": 30,
        "rest": 45
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": 30,
            "rest_seconds": 45,
            "rpe": null,
            "note": "@30kg r45"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3804,
      "cost_usd": 0.000596,
      "tokens_prompt": 874,
      "tokens_completion": 53,
      "ts": "2026-09-11T16:39:54.375Z",
      "diffs": [
        {
          "row": "M-A-fr-conditioning-self",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-conditioning-self",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-conditioning-self",
          "field": "weight_kg",
          "expected": 30,
          "actual": 30,
          "verdict": "match"
        },
        {
          "row": "M-A-fr-conditioning-self",
          "field": "rest_seconds",
          "expected": 45,
          "actual": 45,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4x6 @30kg r45"
        }
      ],
      "context": "context/M-A-fr-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-fr-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-de-endurance-coach",
      "seed": 1,
      "band": "A",
      "locale": "de",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 0,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 0,
            "rest_seconds": 60,
            "rpe": null,
            "note": "@0 r60"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1875,
      "cost_usd": 0.000586,
      "tokens_prompt": 872,
      "tokens_completion": 50,
      "ts": "2026-09-11T16:39:54.605Z",
      "diffs": [
        {
          "row": "M-A-de-endurance-coach",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-de-endurance-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-de-endurance-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "M-A-de-endurance-coach",
          "field": "rest_seconds",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @0 r60"
        }
      ],
      "context": "context/M-A-de-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-de-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-de-endurance-coach",
      "seed": 3,
      "band": "A",
      "locale": "de",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 0,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 0,
            "rest_seconds": 60,
            "rpe": null,
            "note": "@0 r60"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1069,
      "cost_usd": 0.000586,
      "tokens_prompt": 872,
      "tokens_completion": 50,
      "ts": "2026-09-11T16:39:54.616Z",
      "diffs": [
        {
          "row": "M-A-de-endurance-coach",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-de-endurance-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-de-endurance-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "M-A-de-endurance-coach",
          "field": "rest_seconds",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @0 r60"
        }
      ],
      "context": "context/M-A-de-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-de-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-de-endurance-coach",
      "seed": 2,
      "band": "A",
      "locale": "de",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 0,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 0,
            "rest_seconds": 60,
            "rpe": null,
            "note": "@0 r60"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1689,
      "cost_usd": 0.000586,
      "tokens_prompt": 872,
      "tokens_completion": 50,
      "ts": "2026-09-11T16:39:55.180Z",
      "diffs": [
        {
          "row": "M-A-de-endurance-coach",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-de-endurance-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-de-endurance-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "M-A-de-endurance-coach",
          "field": "rest_seconds",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @0 r60"
        }
      ],
      "context": "context/M-A-de-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-de-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-it-barbell-self",
      "seed": 1,
      "band": "A",
      "locale": "it",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 70,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 70,
            "rest_seconds": 90,
            "rpe": null,
            "note": "@70kg riposo 90s"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1202,
      "cost_usd": 0.00061,
      "tokens_prompt": 878,
      "tokens_completion": 57,
      "ts": "2026-09-11T16:39:55.512Z",
      "diffs": [
        {
          "row": "M-A-it-barbell-self",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-A-it-barbell-self",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-A-it-barbell-self",
          "field": "weight_kg",
          "expected": 70,
          "actual": 70,
          "verdict": "match"
        },
        {
          "row": "M-A-it-barbell-self",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4x8 @70kg riposo 90s"
        }
      ],
      "context": "context/M-A-it-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-it-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-de-bodyweight-self",
      "seed": 2,
      "band": "A",
      "locale": "de",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3217,
      "cost_usd": 0.0005725,
      "tokens_prompt": 869,
      "tokens_completion": 46,
      "ts": "2026-09-11T16:39:55.699Z",
      "diffs": [
        {
          "row": "M-A-de-bodyweight-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-A-de-bodyweight-self",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-A-de-bodyweight-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 BW"
        }
      ],
      "context": "context/M-A-de-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-de-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-it-barbell-self",
      "seed": 2,
      "band": "A",
      "locale": "it",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 70,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 70,
            "rest_seconds": 90,
            "rpe": null,
            "note": "@70kg riposo 90s"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1448,
      "cost_usd": 0.00061,
      "tokens_prompt": 878,
      "tokens_completion": 57,
      "ts": "2026-09-11T16:39:55.824Z",
      "diffs": [
        {
          "row": "M-A-it-barbell-self",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-A-it-barbell-self",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-A-it-barbell-self",
          "field": "weight_kg",
          "expected": 70,
          "actual": 70,
          "verdict": "match"
        },
        {
          "row": "M-A-it-barbell-self",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4x8 @70kg riposo 90s"
        }
      ],
      "context": "context/M-A-it-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-it-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-it-conditioning-coach",
      "seed": 1,
      "band": "A",
      "locale": "it",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 25,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 25,
            "rest_seconds": 60,
            "rpe": null,
            "note": "3x10 @25kg r60"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1518,
      "cost_usd": 0.0006115,
      "tokens_prompt": 875,
      "tokens_completion": 58,
      "ts": "2026-09-11T16:39:56.134Z",
      "diffs": [
        {
          "row": "M-A-it-conditioning-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-A-it-conditioning-coach",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-A-it-conditioning-coach",
          "field": "weight_kg",
          "expected": 25,
          "actual": 25,
          "verdict": "match"
        },
        {
          "row": "M-A-it-conditioning-coach",
          "field": "rest_seconds",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 @25kg r60"
        }
      ],
      "context": "context/M-A-it-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-it-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-es-barbell-coach",
      "seed": 3,
      "band": "A",
      "locale": "es",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": 80,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": 80,
            "rest_seconds": 90,
            "rpe": null,
            "note": "@80kg descanso 90s"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 8604,
      "cost_usd": 0.000603,
      "tokens_prompt": 876,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:39:56.161Z",
      "diffs": [
        {
          "row": "M-A-es-barbell-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-A-es-barbell-coach",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "M-A-es-barbell-coach",
          "field": "weight_kg",
          "expected": 80,
          "actual": 80,
          "verdict": "match"
        },
        {
          "row": "M-A-es-barbell-coach",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4x6 @80kg descanso 90s"
        }
      ],
      "context": "context/M-A-es-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-es-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-it-barbell-self",
      "seed": 3,
      "band": "A",
      "locale": "it",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 70,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 70,
            "rest_seconds": 90,
            "rpe": null,
            "note": "@70kg riposo 90s"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1937,
      "cost_usd": 0.00061,
      "tokens_prompt": 878,
      "tokens_completion": 57,
      "ts": "2026-09-11T16:39:56.542Z",
      "diffs": [
        {
          "row": "M-A-it-barbell-self",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-A-it-barbell-self",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-A-it-barbell-self",
          "field": "weight_kg",
          "expected": 70,
          "actual": 70,
          "verdict": "match"
        },
        {
          "row": "M-A-it-barbell-self",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4x8 @70kg riposo 90s"
        }
      ],
      "context": "context/M-A-it-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-it-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-pl-barbell-self",
      "seed": 1,
      "band": "A",
      "locale": "pl",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 120
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 120,
            "rpe": null,
            "note": "przerwa 2 min"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 11669,
      "cost_usd": 0.000493,
      "tokens_prompt": 662,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:39:57.008Z",
      "diffs": [
        {
          "row": "M-A-pl-barbell-self",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-barbell-self",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-barbell-self",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "M-A-pl-barbell-self",
          "field": "rest_seconds",
          "expected": 120,
          "actual": 120,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @100kg przerwa 2 min"
        }
      ],
      "context": "context/M-A-pl-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-pl-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-it-conditioning-coach",
      "seed": 3,
      "band": "A",
      "locale": "it",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 25,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 25,
            "rest_seconds": 60,
            "rpe": null,
            "note": "3x10 @25kg r60"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1580,
      "cost_usd": 0.0006115,
      "tokens_prompt": 875,
      "tokens_completion": 58,
      "ts": "2026-09-11T16:39:57.092Z",
      "diffs": [
        {
          "row": "M-A-it-conditioning-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-A-it-conditioning-coach",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-A-it-conditioning-coach",
          "field": "weight_kg",
          "expected": 25,
          "actual": 25,
          "verdict": "match"
        },
        {
          "row": "M-A-it-conditioning-coach",
          "field": "rest_seconds",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 @25kg r60"
        }
      ],
      "context": "context/M-A-it-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-it-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-it-endurance-self",
      "seed": 1,
      "band": "A",
      "locale": "it",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 0,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": 90,
            "rpe": null,
            "note": "@0 r90"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1563,
      "cost_usd": 0.000586,
      "tokens_prompt": 872,
      "tokens_completion": 50,
      "ts": "2026-09-11T16:39:57.262Z",
      "diffs": [
        {
          "row": "M-A-it-endurance-self",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-A-it-endurance-self",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-A-it-endurance-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "M-A-it-endurance-self",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4x8 @0 r90"
        }
      ],
      "context": "context/M-A-it-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-it-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-it-endurance-self",
      "seed": 3,
      "band": "A",
      "locale": "it",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 0,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": 90,
            "rpe": null,
            "note": "@0 r90"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1213,
      "cost_usd": 0.000586,
      "tokens_prompt": 872,
      "tokens_completion": 50,
      "ts": "2026-09-11T16:39:57.347Z",
      "diffs": [
        {
          "row": "M-A-it-endurance-self",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-A-it-endurance-self",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-A-it-endurance-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "M-A-it-endurance-self",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4x8 @0 r90"
        }
      ],
      "context": "context/M-A-it-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-it-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-it-conditioning-coach",
      "seed": 2,
      "band": "A",
      "locale": "it",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 25,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 25,
            "rest_seconds": 60,
            "rpe": null,
            "note": "3x10 @25kg r60"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2356,
      "cost_usd": 0.0006115,
      "tokens_prompt": 875,
      "tokens_completion": 58,
      "ts": "2026-09-11T16:39:57.537Z",
      "diffs": [
        {
          "row": "M-A-it-conditioning-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-A-it-conditioning-coach",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-A-it-conditioning-coach",
          "field": "weight_kg",
          "expected": 25,
          "actual": 25,
          "verdict": "match"
        },
        {
          "row": "M-A-it-conditioning-coach",
          "field": "rest_seconds",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 @25kg r60"
        }
      ],
      "context": "context/M-A-it-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-it-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-ru-barbell-coach",
      "seed": 1,
      "band": "A",
      "locale": "ru",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 120
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 120,
            "rpe": null,
            "note": "отдых 2 мин"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1599,
      "cost_usd": 0.0006005,
      "tokens_prompt": 877,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:39:57.761Z",
      "diffs": [
        {
          "row": "M-A-ru-barbell-coach",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-barbell-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-barbell-coach",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-barbell-coach",
          "field": "rest_seconds",
          "expected": 120,
          "actual": 120,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @100kg отдых 2 мин"
        }
      ],
      "context": "context/M-A-ru-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-ru-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-it-endurance-self",
      "seed": 2,
      "band": "A",
      "locale": "it",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 0,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": 90,
            "rpe": null,
            "note": "@0 r90"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2180,
      "cost_usd": 0.000586,
      "tokens_prompt": 872,
      "tokens_completion": 50,
      "ts": "2026-09-11T16:39:58.005Z",
      "diffs": [
        {
          "row": "M-A-it-endurance-self",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-A-it-endurance-self",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-A-it-endurance-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "M-A-it-endurance-self",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4x8 @0 r90"
        }
      ],
      "context": "context/M-A-it-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-it-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-ru-barbell-coach",
      "seed": 3,
      "band": "A",
      "locale": "ru",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 120
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 120,
            "rpe": null,
            "note": "отдых 2 мин"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1291,
      "cost_usd": 0.0006005,
      "tokens_prompt": 877,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:39:58.299Z",
      "diffs": [
        {
          "row": "M-A-ru-barbell-coach",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-barbell-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-barbell-coach",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-barbell-coach",
          "field": "rest_seconds",
          "expected": 120,
          "actual": 120,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @100kg отдых 2 мин"
        }
      ],
      "context": "context/M-A-ru-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-ru-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-ru-barbell-coach",
      "seed": 2,
      "band": "A",
      "locale": "ru",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 120
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 120,
            "rpe": null,
            "note": "отдых 2 мин"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1799,
      "cost_usd": 0.0006005,
      "tokens_prompt": 877,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:39:58.341Z",
      "diffs": [
        {
          "row": "M-A-ru-barbell-coach",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-barbell-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-barbell-coach",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-barbell-coach",
          "field": "rest_seconds",
          "expected": 120,
          "actual": 120,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @100kg отдых 2 мин"
        }
      ],
      "context": "context/M-A-ru-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-ru-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-ru-bodyweight-self",
      "seed": 3,
      "band": "A",
      "locale": "ru",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "своим весом"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1422,
      "cost_usd": 0.0005855,
      "tokens_prompt": 871,
      "tokens_completion": 50,
      "ts": "2026-09-11T16:39:58.769Z",
      "diffs": [
        {
          "row": "M-A-ru-bodyweight-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-bodyweight-self",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-bodyweight-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 своим весом"
        }
      ],
      "context": "context/M-A-ru-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-ru-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-ru-conditioning-coach",
      "seed": 1,
      "band": "A",
      "locale": "ru",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": 40,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": 40,
            "rest_seconds": 60,
            "rpe": null,
            "note": "@40kg r60"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1299,
      "cost_usd": 0.000596,
      "tokens_prompt": 874,
      "tokens_completion": 53,
      "ts": "2026-09-11T16:39:58.836Z",
      "diffs": [
        {
          "row": "M-A-ru-conditioning-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-conditioning-coach",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-conditioning-coach",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-conditioning-coach",
          "field": "rest_seconds",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4x6 @40kg r60"
        }
      ],
      "context": "context/M-A-ru-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-ru-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-ru-bodyweight-self",
      "seed": 2,
      "band": "A",
      "locale": "ru",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "своим весом"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1621,
      "cost_usd": 0.0005855,
      "tokens_prompt": 871,
      "tokens_completion": 50,
      "ts": "2026-09-11T16:39:58.884Z",
      "diffs": [
        {
          "row": "M-A-ru-bodyweight-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-bodyweight-self",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-bodyweight-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 своим весом"
        }
      ],
      "context": "context/M-A-ru-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-ru-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-ru-bodyweight-self",
      "seed": 1,
      "band": "A",
      "locale": "ru",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "своим весом"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2022,
      "cost_usd": 0.0005855,
      "tokens_prompt": 871,
      "tokens_completion": 50,
      "ts": "2026-09-11T16:39:59.115Z",
      "diffs": [
        {
          "row": "M-A-ru-bodyweight-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-bodyweight-self",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-bodyweight-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 своим весом"
        }
      ],
      "context": "context/M-A-ru-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-ru-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-ru-conditioning-coach",
      "seed": 3,
      "band": "A",
      "locale": "ru",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": 40,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": 40,
            "rest_seconds": 60,
            "rpe": null,
            "note": "@40kg r60"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1245,
      "cost_usd": 0.000596,
      "tokens_prompt": 874,
      "tokens_completion": 53,
      "ts": "2026-09-11T16:39:59.250Z",
      "diffs": [
        {
          "row": "M-A-ru-conditioning-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-conditioning-coach",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-conditioning-coach",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-conditioning-coach",
          "field": "rest_seconds",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4x6 @40kg r60"
        }
      ],
      "context": "context/M-A-ru-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-ru-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-zh-barbell-self",
      "seed": 2,
      "band": "A",
      "locale": "zh",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 80,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 80,
            "rest_seconds": 90,
            "rpe": null,
            "note": "@80kg 休息90秒"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1645,
      "cost_usd": 0.000603,
      "tokens_prompt": 876,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:39:59.986Z",
      "diffs": [
        {
          "row": "M-A-zh-barbell-self",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-barbell-self",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-barbell-self",
          "field": "weight_kg",
          "expected": 80,
          "actual": 80,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-barbell-self",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @80kg 休息90秒"
        }
      ],
      "context": "context/M-A-zh-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-zh-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-zh-bodyweight-coach",
      "seed": 2,
      "band": "A",
      "locale": "zh",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "自重"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1487,
      "cost_usd": 0.000576,
      "tokens_prompt": 870,
      "tokens_completion": 47,
      "ts": "2026-09-11T16:40:00.371Z",
      "diffs": [
        {
          "row": "M-A-zh-bodyweight-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-bodyweight-coach",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 自重"
        }
      ],
      "context": "context/M-A-zh-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-zh-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-zh-barbell-self",
      "seed": 1,
      "band": "A",
      "locale": "zh",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 80,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 80,
            "rest_seconds": 90,
            "rpe": null,
            "note": "@80kg 休息90秒"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2142,
      "cost_usd": 0.000603,
      "tokens_prompt": 876,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:40:00.441Z",
      "diffs": [
        {
          "row": "M-A-zh-barbell-self",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-barbell-self",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-barbell-self",
          "field": "weight_kg",
          "expected": 80,
          "actual": 80,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-barbell-self",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @80kg 休息90秒"
        }
      ],
      "context": "context/M-A-zh-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-zh-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-zh-bodyweight-coach",
      "seed": 3,
      "band": "A",
      "locale": "zh",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "自重"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1356,
      "cost_usd": 0.000576,
      "tokens_prompt": 870,
      "tokens_completion": 47,
      "ts": "2026-09-11T16:40:00.472Z",
      "diffs": [
        {
          "row": "M-A-zh-bodyweight-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-bodyweight-coach",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 自重"
        }
      ],
      "context": "context/M-A-zh-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-zh-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-zh-bodyweight-coach",
      "seed": 1,
      "band": "A",
      "locale": "zh",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "自重"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1872,
      "cost_usd": 0.000576,
      "tokens_prompt": 870,
      "tokens_completion": 47,
      "ts": "2026-09-11T16:40:00.708Z",
      "diffs": [
        {
          "row": "M-A-zh-bodyweight-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-bodyweight-coach",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3x10 自重"
        }
      ],
      "context": "context/M-A-zh-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-zh-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-zh-endurance-self",
      "seed": 1,
      "band": "A",
      "locale": "zh",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 6,
        "reps": 8,
        "weight": 0,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 6,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": 60,
            "rpe": null,
            "note": "@0 r60"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1652,
      "cost_usd": 0.000586,
      "tokens_prompt": 872,
      "tokens_completion": 50,
      "ts": "2026-09-11T16:40:00.903Z",
      "diffs": [
        {
          "row": "M-A-zh-endurance-self",
          "field": "sets",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-endurance-self",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-endurance-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-endurance-self",
          "field": "rest_seconds",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "6x8 @0 r60"
        }
      ],
      "context": "context/M-A-zh-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-zh-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-zh-endurance-self",
      "seed": 2,
      "band": "A",
      "locale": "zh",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 6,
        "reps": 8,
        "weight": 0,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 6,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": 60,
            "rpe": null,
            "note": "@0 r60"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1436,
      "cost_usd": 0.000586,
      "tokens_prompt": 872,
      "tokens_completion": 50,
      "ts": "2026-09-11T16:40:01.422Z",
      "diffs": [
        {
          "row": "M-A-zh-endurance-self",
          "field": "sets",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-endurance-self",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-endurance-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-endurance-self",
          "field": "rest_seconds",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "6x8 @0 r60"
        }
      ],
      "context": "context/M-A-zh-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-zh-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-en-barbell-self",
      "seed": 1,
      "band": "B",
      "locale": "en",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "work up to a heavy triple, then two back-off sets at 85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1197,
      "cost_usd": 0.0006235,
      "tokens_prompt": 881,
      "tokens_completion": 61,
      "ts": "2026-09-11T16:40:01.638Z",
      "diffs": [
        {
          "row": "M-B-en-barbell-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-en-barbell-self",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-en-barbell-self",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "work up to a heavy triple, then two back-off sets at 85%"
        }
      ],
      "context": "context/M-B-en-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-en-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-ru-conditioning-coach",
      "seed": 2,
      "band": "A",
      "locale": "ru",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": 40,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": 40,
            "rest_seconds": 60,
            "rpe": null,
            "note": "@40kg r60"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4157,
      "cost_usd": 0.000596,
      "tokens_prompt": 874,
      "tokens_completion": 53,
      "ts": "2026-09-11T16:40:01.919Z",
      "diffs": [
        {
          "row": "M-A-ru-conditioning-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-conditioning-coach",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-conditioning-coach",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        },
        {
          "row": "M-A-ru-conditioning-coach",
          "field": "rest_seconds",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4x6 @40kg r60"
        }
      ],
      "context": "context/M-A-ru-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-ru-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-zh-endurance-self",
      "seed": 3,
      "band": "A",
      "locale": "zh",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 6,
        "reps": 8,
        "weight": 0,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 6,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": 60,
            "rpe": null,
            "note": "@0 r60"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1554,
      "cost_usd": 0.000586,
      "tokens_prompt": 872,
      "tokens_completion": 50,
      "ts": "2026-09-11T16:40:01.925Z",
      "diffs": [
        {
          "row": "M-A-zh-endurance-self",
          "field": "sets",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-endurance-self",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-endurance-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-endurance-self",
          "field": "rest_seconds",
          "expected": 60,
          "actual": 60,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "6x8 @0 r60"
        }
      ],
      "context": "context/M-A-zh-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-zh-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-en-barbell-self",
      "seed": 2,
      "band": "B",
      "locale": "en",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "work up to a heavy triple, then two back-off sets at 85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1541,
      "cost_usd": 0.0006235,
      "tokens_prompt": 881,
      "tokens_completion": 61,
      "ts": "2026-09-11T16:40:02.013Z",
      "diffs": [
        {
          "row": "M-B-en-barbell-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-en-barbell-self",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-en-barbell-self",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "work up to a heavy triple, then two back-off sets at 85%"
        }
      ],
      "context": "context/M-B-en-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-en-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-en-barbell-self",
      "seed": 3,
      "band": "B",
      "locale": "en",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "work up to a heavy triple, then two back-off sets at 85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1432,
      "cost_usd": 0.0006235,
      "tokens_prompt": 881,
      "tokens_completion": 61,
      "ts": "2026-09-11T16:40:02.140Z",
      "diffs": [
        {
          "row": "M-B-en-barbell-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-en-barbell-self",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-en-barbell-self",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "work up to a heavy triple, then two back-off sets at 85%"
        }
      ],
      "context": "context/M-B-en-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-en-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-en-bodyweight-coach",
      "seed": 1,
      "band": "B",
      "locale": "en",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "last set to failure"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 1699,
      "cost_usd": 0.0005825,
      "tokens_prompt": 877,
      "tokens_completion": 48,
      "ts": "2026-09-11T16:40:02.603Z",
      "diffs": [
        {
          "row": "M-B-en-bodyweight-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-en-bodyweight-coach",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-B-en-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 sets of 8 pull-ups, last set to failure"
        }
      ],
      "context": "context/M-B-en-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-en-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-en-conditioning-self",
      "seed": 2,
      "band": "B",
      "locale": "en",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 12,
        "reps": 3,
        "weight": 70
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 12,
            "reps": 3,
            "weight_kg": 70,
            "rest_seconds": 60,
            "rpe": null,
            "note": "EMOM 12 min: 3 cleans at 70 kilograms"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1172,
      "cost_usd": 0.000625,
      "tokens_prompt": 878,
      "tokens_completion": 62,
      "ts": "2026-09-11T16:40:03.097Z",
      "diffs": [
        {
          "row": "M-B-en-conditioning-self",
          "field": "sets",
          "expected": 12,
          "actual": 12,
          "verdict": "match"
        },
        {
          "row": "M-B-en-conditioning-self",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-en-conditioning-self",
          "field": "weight_kg",
          "expected": 70,
          "actual": 70,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "EMOM 12 min: 3 cleans at 70 kilograms"
        }
      ],
      "context": "context/M-B-en-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-en-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-en-bodyweight-coach",
      "seed": 3,
      "band": "B",
      "locale": "en",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "last set to failure"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 1580,
      "cost_usd": 0.0005825,
      "tokens_prompt": 877,
      "tokens_completion": 48,
      "ts": "2026-09-11T16:40:03.218Z",
      "diffs": [
        {
          "row": "M-B-en-bodyweight-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-en-bodyweight-coach",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-B-en-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 sets of 8 pull-ups, last set to failure"
        }
      ],
      "context": "context/M-B-en-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-en-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-en-conditioning-self",
      "seed": 1,
      "band": "B",
      "locale": "en",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 12,
        "reps": 3,
        "weight": 70
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 12,
            "reps": 3,
            "weight_kg": 70,
            "rest_seconds": 60,
            "rpe": null,
            "note": "EMOM 12 min: 3 cleans at 70 kilograms"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2012,
      "cost_usd": 0.000625,
      "tokens_prompt": 878,
      "tokens_completion": 62,
      "ts": "2026-09-11T16:40:03.932Z",
      "diffs": [
        {
          "row": "M-B-en-conditioning-self",
          "field": "sets",
          "expected": 12,
          "actual": 12,
          "verdict": "match"
        },
        {
          "row": "M-B-en-conditioning-self",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-en-conditioning-self",
          "field": "weight_kg",
          "expected": 70,
          "actual": 70,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "EMOM 12 min: 3 cleans at 70 kilograms"
        }
      ],
      "context": "context/M-B-en-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-en-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-pl-barbell-coach",
      "seed": 3,
      "band": "B",
      "locale": "pl",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "tempo 3-1-3, 70% ciężaru maksymalnego"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1623,
      "cost_usd": 0.000625,
      "tokens_prompt": 890,
      "tokens_completion": 60,
      "ts": "2026-09-11T16:40:04.721Z",
      "diffs": [
        {
          "row": "M-B-pl-barbell-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-B-pl-barbell-coach",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "M-B-pl-barbell-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "tempo 3-1-3, 4 serie po 6 powtórzeń, 70% ciężaru maksymalnego"
        }
      ],
      "context": "context/M-B-pl-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-pl-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-en-bodyweight-coach",
      "seed": 2,
      "band": "B",
      "locale": "en",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "last set to failure"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 3322,
      "cost_usd": 0.0005825,
      "tokens_prompt": 877,
      "tokens_completion": 48,
      "ts": "2026-09-11T16:40:04.745Z",
      "diffs": [
        {
          "row": "M-B-en-bodyweight-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-en-bodyweight-coach",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-B-en-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 sets of 8 pull-ups, last set to failure"
        }
      ],
      "context": "context/M-B-en-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-en-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-pl-bodyweight-self",
      "seed": 1,
      "band": "B",
      "locale": "pl",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "na każdą stronę, ciężar taki żeby ostatnie 2 były trudne"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1625,
      "cost_usd": 0.0007485,
      "tokens_prompt": 885,
      "tokens_completion": 102,
      "ts": "2026-09-11T16:40:04.843Z",
      "diffs": [
        {
          "row": "M-B-pl-bodyweight-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-pl-bodyweight-self",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-B-pl-bodyweight-self",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 serie po 8 na każdą stronę, ciężar taki żeby ostatnie 2 były trudne"
        }
      ],
      "context": "context/M-B-pl-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-pl-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-pl-bodyweight-self",
      "seed": 2,
      "band": "B",
      "locale": "pl",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "na każdą stronę, ciężar taki żeby ostatnie 2 były trudne"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1319,
      "cost_usd": 0.0007485,
      "tokens_prompt": 885,
      "tokens_completion": 102,
      "ts": "2026-09-11T16:40:05.251Z",
      "diffs": [
        {
          "row": "M-B-pl-bodyweight-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-pl-bodyweight-self",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-B-pl-bodyweight-self",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 serie po 8 na każdą stronę, ciężar taki żeby ostatnie 2 były trudne"
        }
      ],
      "context": "context/M-B-pl-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-pl-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-pl-endurance-coach",
      "seed": 2,
      "band": "B",
      "locale": "pl",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "drabinka 5,4,3,2,1 na rowerze, bez podanego obciążenia"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1104,
      "cost_usd": 0.0006435,
      "tokens_prompt": 885,
      "tokens_completion": 67,
      "ts": "2026-09-11T16:40:05.947Z",
      "diffs": [
        {
          "row": "M-B-pl-endurance-coach",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-pl-endurance-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-pl-endurance-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "drabinka 5,4,3,2,1 na rowerze, bez podanego obciążenia"
        }
      ],
      "context": "context/M-B-pl-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-pl-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-en-conditioning-self",
      "seed": 3,
      "band": "B",
      "locale": "en",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 12,
        "reps": 3,
        "weight": 70
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 12,
            "reps": 3,
            "weight_kg": 70,
            "rest_seconds": 60,
            "rpe": null,
            "note": "EMOM 12 min: 3 cleans at 70 kilograms"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3977,
      "cost_usd": 0.000625,
      "tokens_prompt": 878,
      "tokens_completion": 62,
      "ts": "2026-09-11T16:40:05.990Z",
      "diffs": [
        {
          "row": "M-B-en-conditioning-self",
          "field": "sets",
          "expected": 12,
          "actual": 12,
          "verdict": "match"
        },
        {
          "row": "M-B-en-conditioning-self",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-en-conditioning-self",
          "field": "weight_kg",
          "expected": 70,
          "actual": 70,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "EMOM 12 min: 3 cleans at 70 kilograms"
        }
      ],
      "context": "context/M-B-en-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-en-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-pl-bodyweight-self",
      "seed": 3,
      "band": "B",
      "locale": "pl",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "na każdą stronę, ciężar taki żeby ostatnie 2 były trudne"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1497,
      "cost_usd": 0.0007485,
      "tokens_prompt": 885,
      "tokens_completion": 102,
      "ts": "2026-09-11T16:40:06.218Z",
      "diffs": [
        {
          "row": "M-B-pl-bodyweight-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-pl-bodyweight-self",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-B-pl-bodyweight-self",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 serie po 8 na każdą stronę, ciężar taki żeby ostatnie 2 były trudne"
        }
      ],
      "context": "context/M-B-pl-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-pl-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-pl-endurance-coach",
      "seed": 1,
      "band": "B",
      "locale": "pl",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "drabinka 5,4,3,2,1 na rowerze, bez podanego obciążenia"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1485,
      "cost_usd": 0.0006435,
      "tokens_prompt": 885,
      "tokens_completion": 67,
      "ts": "2026-09-11T16:40:06.230Z",
      "diffs": [
        {
          "row": "M-B-pl-endurance-coach",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-pl-endurance-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-pl-endurance-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "drabinka 5,4,3,2,1 na rowerze, bez podanego obciążenia"
        }
      ],
      "context": "context/M-B-pl-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-pl-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-pl-endurance-coach",
      "seed": 3,
      "band": "B",
      "locale": "pl",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "drabinka 5,4,3,2,1 na rowerze, bez podanego obciążenia"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1507,
      "cost_usd": 0.0006435,
      "tokens_prompt": 885,
      "tokens_completion": 67,
      "ts": "2026-09-11T16:40:06.759Z",
      "diffs": [
        {
          "row": "M-B-pl-endurance-coach",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-pl-endurance-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-pl-endurance-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "drabinka 5,4,3,2,1 na rowerze, bez podanego obciążenia"
        }
      ],
      "context": "context/M-B-pl-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-pl-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-es-barbell-self",
      "seed": 1,
      "band": "B",
      "locale": "es",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 12,
        "weight": 40
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 12,
            "weight_kg": 40,
            "rest_seconds": null,
            "rpe": null,
            "note": "pirámide 12-10-8-6 sumando 5kg cada serie desde 40kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1552,
      "cost_usd": 0.000663,
      "tokens_prompt": 888,
      "tokens_completion": 73,
      "ts": "2026-09-11T16:40:07.499Z",
      "diffs": [
        {
          "row": "M-B-es-barbell-self",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-B-es-barbell-self",
          "field": "reps",
          "expected": 12,
          "actual": 12,
          "verdict": "match"
        },
        {
          "row": "M-B-es-barbell-self",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "pirámide 12-10-8-6 sumando 5kg cada serie desde 40kg"
        }
      ],
      "context": "context/M-B-es-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-es-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-pl-barbell-coach",
      "seed": 2,
      "band": "B",
      "locale": "pl",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "tempo 3-1-3, 70% ciężaru maksymalnego"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 5199,
      "cost_usd": 0.000625,
      "tokens_prompt": 890,
      "tokens_completion": 60,
      "ts": "2026-09-11T16:40:07.803Z",
      "diffs": [
        {
          "row": "M-B-pl-barbell-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-B-pl-barbell-coach",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "M-B-pl-barbell-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "tempo 3-1-3, 4 serie po 6 powtórzeń, 70% ciężaru maksymalnego"
        }
      ],
      "context": "context/M-B-pl-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-pl-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-es-conditioning-coach",
      "seed": 2,
      "band": "B",
      "locale": "es",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 10,
        "reps": 5,
        "weight": 40
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 10,
            "reps": 5,
            "weight_kg": 40,
            "rest_seconds": 60,
            "rpe": null,
            "note": "EMOM 10 minutos: 5 thrusters a 40kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1718,
      "cost_usd": 0.0006285,
      "tokens_prompt": 879,
      "tokens_completion": 63,
      "ts": "2026-09-11T16:40:08.478Z",
      "diffs": [
        {
          "row": "M-B-es-conditioning-coach",
          "field": "sets",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-B-es-conditioning-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-es-conditioning-coach",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "EMOM 10 minutos: 5 thrusters a 40kg"
        }
      ],
      "context": "context/M-B-es-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-es-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-es-barbell-self",
      "seed": 3,
      "band": "B",
      "locale": "es",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 12,
        "weight": 40
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 12,
            "weight_kg": 40,
            "rest_seconds": null,
            "rpe": null,
            "note": "pirámide 12-10-8-6 sumando 5kg cada serie desde 40kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2805,
      "cost_usd": 0.000663,
      "tokens_prompt": 888,
      "tokens_completion": 73,
      "ts": "2026-09-11T16:40:09.023Z",
      "diffs": [
        {
          "row": "M-B-es-barbell-self",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-B-es-barbell-self",
          "field": "reps",
          "expected": 12,
          "actual": 12,
          "verdict": "match"
        },
        {
          "row": "M-B-es-barbell-self",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "pirámide 12-10-8-6 sumando 5kg cada serie desde 40kg"
        }
      ],
      "context": "context/M-B-es-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-es-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-pl-barbell-coach",
      "seed": 1,
      "band": "B",
      "locale": "pl",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "tempo 3-1-3, 70% ciężaru maksymalnego"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 7361,
      "cost_usd": 0.000625,
      "tokens_prompt": 890,
      "tokens_completion": 60,
      "ts": "2026-09-11T16:40:09.502Z",
      "diffs": [
        {
          "row": "M-B-pl-barbell-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-B-pl-barbell-coach",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "M-B-pl-barbell-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "tempo 3-1-3, 4 serie po 6 powtórzeń, 70% ciężaru maksymalnego"
        }
      ],
      "context": "context/M-B-pl-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-pl-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-A-zh-barbell-self",
      "seed": 3,
      "band": "A",
      "locale": "zh",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 80,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 80,
            "rest_seconds": 90,
            "rpe": null,
            "note": "5x5 @80kg 休息90秒"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 11549,
      "cost_usd": 0.0005045,
      "tokens_prompt": 661,
      "tokens_completion": 58,
      "ts": "2026-09-11T16:40:10.318Z",
      "diffs": [
        {
          "row": "M-A-zh-barbell-self",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-barbell-self",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-barbell-self",
          "field": "weight_kg",
          "expected": 80,
          "actual": 80,
          "verdict": "match"
        },
        {
          "row": "M-A-zh-barbell-self",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5x5 @80kg 休息90秒"
        }
      ],
      "context": "context/M-A-zh-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-zh-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-es-endurance-self",
      "seed": 3,
      "band": "B",
      "locale": "es",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 1,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "400 metros, trote de vuelta como descanso"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1448,
      "cost_usd": 0.0006055,
      "tokens_prompt": 881,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:40:10.472Z",
      "diffs": [
        {
          "row": "M-B-es-endurance-self",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-B-es-endurance-self",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "M-B-es-endurance-self",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4 repeticiones de 400 metros, trote de vuelta como descanso"
        }
      ],
      "context": "context/M-B-es-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-es-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-es-endurance-self",
      "seed": 2,
      "band": "B",
      "locale": "es",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 1,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "400 metros, trote de vuelta como descanso"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2338,
      "cost_usd": 0.0006055,
      "tokens_prompt": 881,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:40:10.816Z",
      "diffs": [
        {
          "row": "M-B-es-endurance-self",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-B-es-endurance-self",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "M-B-es-endurance-self",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4 repeticiones de 400 metros, trote de vuelta como descanso"
        }
      ],
      "context": "context/M-B-es-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-es-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-fr-barbell-coach",
      "seed": 1,
      "band": "B",
      "locale": "fr",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "monte jusqu'à un lourd triple, puis deux séries de retour à 85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1893,
      "cost_usd": 0.000627,
      "tokens_prompt": 882,
      "tokens_completion": 62,
      "ts": "2026-09-11T16:40:11.395Z",
      "diffs": [
        {
          "row": "M-B-fr-barbell-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-barbell-coach",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-barbell-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "monte jusqu'à un lourd triple, puis deux séries de retour à 85%"
        }
      ],
      "context": "context/M-B-fr-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-fr-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-es-barbell-self",
      "seed": 2,
      "band": "B",
      "locale": "es",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 12,
        "weight": 40
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 12,
            "weight_kg": 40,
            "rest_seconds": null,
            "rpe": null,
            "note": "pirámide 12-10-8-6 sumando 5kg cada serie desde 40kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 5893,
      "cost_usd": 0.000663,
      "tokens_prompt": 888,
      "tokens_completion": 73,
      "ts": "2026-09-11T16:40:11.884Z",
      "diffs": [
        {
          "row": "M-B-es-barbell-self",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-B-es-barbell-self",
          "field": "reps",
          "expected": 12,
          "actual": 12,
          "verdict": "match"
        },
        {
          "row": "M-B-es-barbell-self",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "pirámide 12-10-8-6 sumando 5kg cada serie desde 40kg"
        }
      ],
      "context": "context/M-B-es-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-es-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-fr-barbell-coach",
      "seed": 2,
      "band": "B",
      "locale": "fr",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "monte jusqu'à un lourd triple, puis deux séries de retour à 85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2054,
      "cost_usd": 0.000627,
      "tokens_prompt": 882,
      "tokens_completion": 62,
      "ts": "2026-09-11T16:40:12.372Z",
      "diffs": [
        {
          "row": "M-B-fr-barbell-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-barbell-coach",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-barbell-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "monte jusqu'à un lourd triple, puis deux séries de retour à 85%"
        }
      ],
      "context": "context/M-B-fr-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-fr-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-fr-barbell-coach",
      "seed": 3,
      "band": "B",
      "locale": "fr",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "monte jusqu'à un lourd triple, puis deux séries de retour à 85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1930,
      "cost_usd": 0.000627,
      "tokens_prompt": 882,
      "tokens_completion": 62,
      "ts": "2026-09-11T16:40:12.402Z",
      "diffs": [
        {
          "row": "M-B-fr-barbell-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-barbell-coach",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-barbell-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "monte jusqu'à un lourd triple, puis deux séries de retour à 85%"
        }
      ],
      "context": "context/M-B-fr-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-fr-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-fr-bodyweight-self",
      "seed": 3,
      "band": "B",
      "locale": "fr",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "dernières répétitions difficiles"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 1456,
      "cost_usd": 0.000591,
      "tokens_prompt": 876,
      "tokens_completion": 51,
      "ts": "2026-09-11T16:40:13.340Z",
      "diffs": [
        {
          "row": "M-B-fr-bodyweight-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-bodyweight-self",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-bodyweight-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 séries de 10 dips, dernières répétitions difficiles"
        }
      ],
      "context": "context/M-B-fr-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-fr-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-fr-bodyweight-self",
      "seed": 1,
      "band": "B",
      "locale": "fr",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "dernières répétitions difficiles"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 2929,
      "cost_usd": 0.000591,
      "tokens_prompt": 876,
      "tokens_completion": 51,
      "ts": "2026-09-11T16:40:13.746Z",
      "diffs": [
        {
          "row": "M-B-fr-bodyweight-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-bodyweight-self",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-bodyweight-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 séries de 10 dips, dernières répétitions difficiles"
        }
      ],
      "context": "context/M-B-fr-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-fr-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-fr-bodyweight-self",
      "seed": 2,
      "band": "B",
      "locale": "fr",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "dernières répétitions difficiles"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 2373,
      "cost_usd": 0.000591,
      "tokens_prompt": 876,
      "tokens_completion": 51,
      "ts": "2026-09-11T16:40:13.768Z",
      "diffs": [
        {
          "row": "M-B-fr-bodyweight-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-bodyweight-self",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-bodyweight-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 séries de 10 dips, dernières répétitions difficiles"
        }
      ],
      "context": "context/M-B-fr-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-fr-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-fr-conditioning-coach",
      "seed": 2,
      "band": "B",
      "locale": "fr",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 1,
            "reps": 5,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "AMRAP 8 min de 5 tractions et 10 pompes"
          }
        ]
      },
      "score_line": 50,
      "fields": 2,
      "ok": 1,
      "invented": 1,
      "missed": 0,
      "weight_zero": 1,
      "latency_ms": 1381,
      "cost_usd": 0.0007485,
      "tokens_prompt": 879,
      "tokens_completion": 103,
      "ts": "2026-09-11T16:40:13.784Z",
      "diffs": [
        {
          "row": "M-B-fr-conditioning-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-conditioning-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": 0,
          "verdict": "weight_zero"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "AMRAP 8 min de 5 tractions et 10 pompes"
        }
      ],
      "context": "context/M-B-fr-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-fr-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-es-conditioning-coach",
      "seed": 1,
      "band": "B",
      "locale": "es",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 10,
        "reps": 5,
        "weight": 40
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 10,
            "reps": 5,
            "weight_kg": 40,
            "rest_seconds": 60,
            "rpe": null,
            "note": "EMOM 10 minutos: 5 thrusters a 40kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 8347,
      "cost_usd": 0.0006285,
      "tokens_prompt": 879,
      "tokens_completion": 63,
      "ts": "2026-09-11T16:40:14.577Z",
      "diffs": [
        {
          "row": "M-B-es-conditioning-coach",
          "field": "sets",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-B-es-conditioning-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-es-conditioning-coach",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "EMOM 10 minutos: 5 thrusters a 40kg"
        }
      ],
      "context": "context/M-B-es-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-es-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-fr-conditioning-coach",
      "seed": 3,
      "band": "B",
      "locale": "fr",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 1,
            "reps": 5,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "AMRAP 8 min de 5 tractions et 10 pompes"
          }
        ]
      },
      "score_line": 50,
      "fields": 2,
      "ok": 1,
      "invented": 1,
      "missed": 0,
      "weight_zero": 1,
      "latency_ms": 1584,
      "cost_usd": 0.0007485,
      "tokens_prompt": 879,
      "tokens_completion": 103,
      "ts": "2026-09-11T16:40:14.925Z",
      "diffs": [
        {
          "row": "M-B-fr-conditioning-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-conditioning-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": 0,
          "verdict": "weight_zero"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "AMRAP 8 min de 5 tractions et 10 pompes"
        }
      ],
      "context": "context/M-B-fr-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-fr-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-de-barbell-self",
      "seed": 2,
      "band": "B",
      "locale": "de",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Leiter 5,4,3,2,1, arbeite dich hoch bis 140kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2056,
      "cost_usd": 0.0006435,
      "tokens_prompt": 885,
      "tokens_completion": 67,
      "ts": "2026-09-11T16:40:15.825Z",
      "diffs": [
        {
          "row": "M-B-de-barbell-self",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-de-barbell-self",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-de-barbell-self",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Leiter 5,4,3,2,1, arbeite dich hoch bis 140kg"
        }
      ],
      "context": "context/M-B-de-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-de-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-es-endurance-self",
      "seed": 1,
      "band": "B",
      "locale": "es",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 1,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "400 metros, trote de vuelta como descanso"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 8045,
      "cost_usd": 0.0006055,
      "tokens_prompt": 881,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:40:15.848Z",
      "diffs": [
        {
          "row": "M-B-es-endurance-self",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-B-es-endurance-self",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "M-B-es-endurance-self",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4 repeticiones de 400 metros, trote de vuelta como descanso"
        }
      ],
      "context": "context/M-B-es-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-es-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-es-conditioning-coach",
      "seed": 3,
      "band": "B",
      "locale": "es",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 10,
        "reps": 5,
        "weight": 40
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 10,
            "reps": 5,
            "weight_kg": 40,
            "rest_seconds": 60,
            "rpe": null,
            "note": "EMOM 10 minutos: 5 thrusters a 40kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 8427,
      "cost_usd": 0.0006285,
      "tokens_prompt": 879,
      "tokens_completion": 63,
      "ts": "2026-09-11T16:40:15.926Z",
      "diffs": [
        {
          "row": "M-B-es-conditioning-coach",
          "field": "sets",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-B-es-conditioning-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-es-conditioning-coach",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "EMOM 10 minutos: 5 thrusters a 40kg"
        }
      ],
      "context": "context/M-B-es-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-es-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-de-barbell-self",
      "seed": 1,
      "band": "B",
      "locale": "de",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Leiter 5,4,3,2,1, arbeite dich hoch bis 140kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2343,
      "cost_usd": 0.0006435,
      "tokens_prompt": 885,
      "tokens_completion": 67,
      "ts": "2026-09-11T16:40:16.090Z",
      "diffs": [
        {
          "row": "M-B-de-barbell-self",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-de-barbell-self",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-de-barbell-self",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Leiter 5,4,3,2,1, arbeite dich hoch bis 140kg"
        }
      ],
      "context": "context/M-B-de-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-de-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-de-barbell-self",
      "seed": 3,
      "band": "B",
      "locale": "de",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Leiter 5,4,3,2,1, arbeite dich hoch bis 140kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2548,
      "cost_usd": 0.0006435,
      "tokens_prompt": 885,
      "tokens_completion": 67,
      "ts": "2026-09-11T16:40:16.332Z",
      "diffs": [
        {
          "row": "M-B-de-barbell-self",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-de-barbell-self",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-de-barbell-self",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Leiter 5,4,3,2,1, arbeite dich hoch bis 140kg"
        }
      ],
      "context": "context/M-B-de-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-de-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-de-bodyweight-coach",
      "seed": 2,
      "band": "B",
      "locale": "de",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "letzter Satz bis zum Versagen"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 1529,
      "cost_usd": 0.0005935,
      "tokens_prompt": 881,
      "tokens_completion": 51,
      "ts": "2026-09-11T16:40:16.454Z",
      "diffs": [
        {
          "row": "M-B-de-bodyweight-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-B-de-bodyweight-coach",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-B-de-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4 Sätze mit 8 Klimmzügen, letzter Satz bis zum Versagen"
        }
      ],
      "context": "context/M-B-de-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-de-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-de-endurance-self",
      "seed": 1,
      "band": "B",
      "locale": "de",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 1,
        "weight": null,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": 90,
            "rpe": null,
            "note": "200 Meter Ruder"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1004,
      "cost_usd": 0.000594,
      "tokens_prompt": 882,
      "tokens_completion": 51,
      "ts": "2026-09-11T16:40:16.852Z",
      "diffs": [
        {
          "row": "M-B-de-endurance-self",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-de-endurance-self",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "M-B-de-endurance-self",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "M-B-de-endurance-self",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5 Wiederholungen à 200 Meter Ruder, Pause 90 Sekunden"
        }
      ],
      "context": "context/M-B-de-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-de-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-fr-conditioning-coach",
      "seed": 1,
      "band": "B",
      "locale": "fr",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 1,
            "reps": 5,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "AMRAP 8 min de 5 tractions et 10 pompes"
          }
        ]
      },
      "score_line": 50,
      "fields": 2,
      "ok": 1,
      "invented": 1,
      "missed": 0,
      "weight_zero": 1,
      "latency_ms": 4710,
      "cost_usd": 0.0007485,
      "tokens_prompt": 879,
      "tokens_completion": 103,
      "ts": "2026-09-11T16:40:17.082Z",
      "diffs": [
        {
          "row": "M-B-fr-conditioning-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-conditioning-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": 0,
          "verdict": "weight_zero"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "AMRAP 8 min de 5 tractions et 10 pompes"
        }
      ],
      "context": "context/M-B-fr-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-fr-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-de-endurance-self",
      "seed": 2,
      "band": "B",
      "locale": "de",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 1,
        "weight": null,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": 90,
            "rpe": null,
            "note": "200 Meter Ruder"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1858,
      "cost_usd": 0.000594,
      "tokens_prompt": 882,
      "tokens_completion": 51,
      "ts": "2026-09-11T16:40:17.785Z",
      "diffs": [
        {
          "row": "M-B-de-endurance-self",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-de-endurance-self",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "M-B-de-endurance-self",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "M-B-de-endurance-self",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5 Wiederholungen à 200 Meter Ruder, Pause 90 Sekunden"
        }
      ],
      "context": "context/M-B-de-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-de-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-it-barbell-coach",
      "seed": 2,
      "band": "B",
      "locale": "it",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "sali fino a un triplo pesante, poi due serie di scarico all'85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1520,
      "cost_usd": 0.00063,
      "tokens_prompt": 882,
      "tokens_completion": 63,
      "ts": "2026-09-11T16:40:17.974Z",
      "diffs": [
        {
          "row": "M-B-it-barbell-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-it-barbell-coach",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-it-barbell-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "sali fino a un triplo pesante, poi due serie di scarico all'85%"
        }
      ],
      "context": "context/M-B-it-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-it-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-it-barbell-coach",
      "seed": 1,
      "band": "B",
      "locale": "it",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "sali fino a un triplo pesante, poi due serie di scarico all'85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1766,
      "cost_usd": 0.00063,
      "tokens_prompt": 882,
      "tokens_completion": 63,
      "ts": "2026-09-11T16:40:18.099Z",
      "diffs": [
        {
          "row": "M-B-it-barbell-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-it-barbell-coach",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-it-barbell-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "sali fino a un triplo pesante, poi due serie di scarico all'85%"
        }
      ],
      "context": "context/M-B-it-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-it-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-it-barbell-coach",
      "seed": 3,
      "band": "B",
      "locale": "it",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "sali fino a un triplo pesante, poi due serie di scarico all'85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2001,
      "cost_usd": 0.00063,
      "tokens_prompt": 882,
      "tokens_completion": 63,
      "ts": "2026-09-11T16:40:18.854Z",
      "diffs": [
        {
          "row": "M-B-it-barbell-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-it-barbell-coach",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-it-barbell-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "sali fino a un triplo pesante, poi due serie di scarico all'85%"
        }
      ],
      "context": "context/M-B-it-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-it-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-it-conditioning-self",
      "seed": 1,
      "band": "B",
      "locale": "it",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 12,
        "reps": 3,
        "weight": 70
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 12,
            "reps": 3,
            "weight_kg": 70,
            "rest_seconds": 60,
            "rpe": null,
            "note": "EMOM 12 minuti: 3 clean a 70kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1777,
      "cost_usd": 0.000625,
      "tokens_prompt": 878,
      "tokens_completion": 62,
      "ts": "2026-09-11T16:40:18.860Z",
      "diffs": [
        {
          "row": "M-B-it-conditioning-self",
          "field": "sets",
          "expected": 12,
          "actual": 12,
          "verdict": "match"
        },
        {
          "row": "M-B-it-conditioning-self",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-it-conditioning-self",
          "field": "weight_kg",
          "expected": 70,
          "actual": 70,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "EMOM 12 minuti: 3 clean a 70kg"
        }
      ],
      "context": "context/M-B-it-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-it-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-de-bodyweight-coach",
      "seed": 3,
      "band": "B",
      "locale": "de",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "letzter Satz bis zum Versagen"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 3078,
      "cost_usd": 0.0005935,
      "tokens_prompt": 881,
      "tokens_completion": 51,
      "ts": "2026-09-11T16:40:18.903Z",
      "diffs": [
        {
          "row": "M-B-de-bodyweight-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-B-de-bodyweight-coach",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-B-de-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4 Sätze mit 8 Klimmzügen, letzter Satz bis zum Versagen"
        }
      ],
      "context": "context/M-B-de-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-de-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-it-conditioning-self",
      "seed": 3,
      "band": "B",
      "locale": "it",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 12,
        "reps": 3,
        "weight": 70
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 12,
            "reps": 3,
            "weight_kg": 70,
            "rest_seconds": 60,
            "rpe": null,
            "note": "EMOM 12 minuti: 3 clean a 70kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1432,
      "cost_usd": 0.000625,
      "tokens_prompt": 878,
      "tokens_completion": 62,
      "ts": "2026-09-11T16:40:19.406Z",
      "diffs": [
        {
          "row": "M-B-it-conditioning-self",
          "field": "sets",
          "expected": 12,
          "actual": 12,
          "verdict": "match"
        },
        {
          "row": "M-B-it-conditioning-self",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-it-conditioning-self",
          "field": "weight_kg",
          "expected": 70,
          "actual": 70,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "EMOM 12 minuti: 3 clean a 70kg"
        }
      ],
      "context": "context/M-B-it-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-it-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-it-endurance-coach",
      "seed": 1,
      "band": "B",
      "locale": "it",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 1,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "400 metri, ritorno di corsa lenta come recupero"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1840,
      "cost_usd": 0.0006085,
      "tokens_prompt": 881,
      "tokens_completion": 56,
      "ts": "2026-09-11T16:40:19.940Z",
      "diffs": [
        {
          "row": "M-B-it-endurance-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-B-it-endurance-coach",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "M-B-it-endurance-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4 ripetizioni di 400 metri, ritorno di corsa lenta come recupero"
        }
      ],
      "context": "context/M-B-it-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-it-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-it-endurance-coach",
      "seed": 2,
      "band": "B",
      "locale": "it",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 1,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "400 metri, ritorno di corsa lenta come recupero"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1324,
      "cost_usd": 0.0006085,
      "tokens_prompt": 881,
      "tokens_completion": 56,
      "ts": "2026-09-11T16:40:20.178Z",
      "diffs": [
        {
          "row": "M-B-it-endurance-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-B-it-endurance-coach",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "M-B-it-endurance-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4 ripetizioni di 400 metri, ritorno di corsa lenta come recupero"
        }
      ],
      "context": "context/M-B-it-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-it-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-it-endurance-coach",
      "seed": 3,
      "band": "B",
      "locale": "it",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 1,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "400 metri, ritorno di corsa lenta come recupero"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1572,
      "cost_usd": 0.0006085,
      "tokens_prompt": 881,
      "tokens_completion": 56,
      "ts": "2026-09-11T16:40:20.433Z",
      "diffs": [
        {
          "row": "M-B-it-endurance-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-B-it-endurance-coach",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "M-B-it-endurance-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4 ripetizioni di 400 metri, ritorno di corsa lenta come recupero"
        }
      ],
      "context": "context/M-B-it-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-it-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-ru-barbell-self",
      "seed": 2,
      "band": "B",
      "locale": "ru",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "работай до тяжёлого тройного, затем два подхода на 85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1301,
      "cost_usd": 0.00062,
      "tokens_prompt": 880,
      "tokens_completion": 60,
      "ts": "2026-09-11T16:40:20.708Z",
      "diffs": [
        {
          "row": "M-B-ru-barbell-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-barbell-self",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-barbell-self",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "работай до тяжёлого тройного, затем два подхода на 85%"
        }
      ],
      "context": "context/M-B-ru-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-ru-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-ru-bodyweight-coach",
      "seed": 1,
      "band": "B",
      "locale": "ru",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "последний до отказа"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 1654,
      "cost_usd": 0.000582,
      "tokens_prompt": 876,
      "tokens_completion": 48,
      "ts": "2026-09-11T16:40:21.833Z",
      "diffs": [
        {
          "row": "M-B-ru-bodyweight-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-bodyweight-coach",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 подхода по 8 подтягиваний, последний до отказа"
        }
      ],
      "context": "context/M-B-ru-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-ru-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-de-bodyweight-coach",
      "seed": 1,
      "band": "B",
      "locale": "de",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "letzter Satz bis zum Versagen"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 7462,
      "cost_usd": 0.0005935,
      "tokens_prompt": 881,
      "tokens_completion": 51,
      "ts": "2026-09-11T16:40:22.039Z",
      "diffs": [
        {
          "row": "M-B-de-bodyweight-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-B-de-bodyweight-coach",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-B-de-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4 Sätze mit 8 Klimmzügen, letzter Satz bis zum Versagen"
        }
      ],
      "context": "context/M-B-de-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-de-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-ru-barbell-self",
      "seed": 1,
      "band": "B",
      "locale": "ru",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "работай до тяжёлого тройного, затем два подхода на 85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3190,
      "cost_usd": 0.00062,
      "tokens_prompt": 880,
      "tokens_completion": 60,
      "ts": "2026-09-11T16:40:22.094Z",
      "diffs": [
        {
          "row": "M-B-ru-barbell-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-barbell-self",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-barbell-self",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "работай до тяжёлого тройного, затем два подхода на 85%"
        }
      ],
      "context": "context/M-B-ru-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-ru-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-ru-bodyweight-coach",
      "seed": 3,
      "band": "B",
      "locale": "ru",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "последний до отказа"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 2479,
      "cost_usd": 0.000582,
      "tokens_prompt": 876,
      "tokens_completion": 48,
      "ts": "2026-09-11T16:40:23.187Z",
      "diffs": [
        {
          "row": "M-B-ru-bodyweight-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-bodyweight-coach",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 подхода по 8 подтягиваний, последний до отказа"
        }
      ],
      "context": "context/M-B-ru-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-ru-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-ru-conditioning-self",
      "seed": 3,
      "band": "B",
      "locale": "ru",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 10,
        "reps": 5,
        "weight": 40
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 10,
            "reps": 5,
            "weight_kg": 40,
            "rest_seconds": 60,
            "rpe": null,
            "note": "EMOM 10 минут: 5 трастеров по 40кг"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1839,
      "cost_usd": 0.000632,
      "tokens_prompt": 880,
      "tokens_completion": 64,
      "ts": "2026-09-11T16:40:23.933Z",
      "diffs": [
        {
          "row": "M-B-ru-conditioning-self",
          "field": "sets",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-conditioning-self",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-conditioning-self",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "EMOM 10 минут: 5 трастеров по 40кг"
        }
      ],
      "context": "context/M-B-ru-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-ru-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-ru-conditioning-self",
      "seed": 2,
      "band": "B",
      "locale": "ru",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 10,
        "reps": 5,
        "weight": 40
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 10,
            "reps": 5,
            "weight_kg": 40,
            "rest_seconds": 60,
            "rpe": null,
            "note": "EMOM 10 минут: 5 трастеров по 40кг"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2202,
      "cost_usd": 0.000632,
      "tokens_prompt": 880,
      "tokens_completion": 64,
      "ts": "2026-09-11T16:40:24.242Z",
      "diffs": [
        {
          "row": "M-B-ru-conditioning-self",
          "field": "sets",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-conditioning-self",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-conditioning-self",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "EMOM 10 минут: 5 трастеров по 40кг"
        }
      ],
      "context": "context/M-B-ru-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-ru-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-zh-barbell-coach",
      "seed": 1,
      "band": "B",
      "locale": "zh",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "做梯形 5,4,3,2,1，逐渐加到 140 公斤，重量先不写死"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1622,
      "cost_usd": 0.000665,
      "tokens_prompt": 892,
      "tokens_completion": 73,
      "ts": "2026-09-11T16:40:24.809Z",
      "diffs": [
        {
          "row": "M-B-zh-barbell-coach",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-zh-barbell-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-zh-barbell-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "做梯形 5,4,3,2,1，逐渐加到 140 公斤，重量先不写死"
        }
      ],
      "context": "context/M-B-zh-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-zh-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-ru-conditioning-self",
      "seed": 1,
      "band": "B",
      "locale": "ru",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 10,
        "reps": 5,
        "weight": 40
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 10,
            "reps": 5,
            "weight_kg": 40,
            "rest_seconds": 60,
            "rpe": null,
            "note": "EMOM 10 минут: 5 трастеров по 40кг"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3527,
      "cost_usd": 0.000632,
      "tokens_prompt": 880,
      "tokens_completion": 64,
      "ts": "2026-09-11T16:40:25.360Z",
      "diffs": [
        {
          "row": "M-B-ru-conditioning-self",
          "field": "sets",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-conditioning-self",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-conditioning-self",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "EMOM 10 минут: 5 трастеров по 40кг"
        }
      ],
      "context": "context/M-B-ru-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-ru-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-zh-barbell-coach",
      "seed": 2,
      "band": "B",
      "locale": "zh",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "做梯形 5,4,3,2,1，逐渐加到 140 公斤，重量先不写死"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1466,
      "cost_usd": 0.000665,
      "tokens_prompt": 892,
      "tokens_completion": 73,
      "ts": "2026-09-11T16:40:25.399Z",
      "diffs": [
        {
          "row": "M-B-zh-barbell-coach",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-zh-barbell-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-zh-barbell-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "做梯形 5,4,3,2,1，逐渐加到 140 公斤，重量先不写死"
        }
      ],
      "context": "context/M-B-zh-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-zh-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-zh-barbell-coach",
      "seed": 3,
      "band": "B",
      "locale": "zh",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "做梯形 5,4,3,2,1，逐渐加到 140 公斤，重量先不写死"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1162,
      "cost_usd": 0.000665,
      "tokens_prompt": 892,
      "tokens_completion": 73,
      "ts": "2026-09-11T16:40:25.405Z",
      "diffs": [
        {
          "row": "M-B-zh-barbell-coach",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-zh-barbell-coach",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-zh-barbell-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "做梯形 5,4,3,2,1，逐渐加到 140 公斤，重量先不写死"
        }
      ],
      "context": "context/M-B-zh-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-zh-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-zh-endurance-coach",
      "seed": 1,
      "band": "B",
      "locale": "zh",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 1,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "400 米，慢跑回来作为休息"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1394,
      "cost_usd": 0.000601,
      "tokens_prompt": 878,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:26.799Z",
      "diffs": [
        {
          "row": "M-B-zh-endurance-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-B-zh-endurance-coach",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "M-B-zh-endurance-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4 组 400 米，慢跑回来作为休息"
        }
      ],
      "context": "context/M-B-zh-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-zh-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-zh-bodyweight-self",
      "seed": 1,
      "band": "B",
      "locale": "zh",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "3 组 8 次引体向上，最后一组做到力竭"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 1991,
      "cost_usd": 0.0006165,
      "tokens_prompt": 879,
      "tokens_completion": 59,
      "ts": "2026-09-11T16:40:26.801Z",
      "diffs": [
        {
          "row": "M-B-zh-bodyweight-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-zh-bodyweight-self",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-B-zh-bodyweight-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 组 8 次引体向上，最后一组做到力竭"
        }
      ],
      "context": "context/M-B-zh-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-zh-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-ru-barbell-self",
      "seed": 3,
      "band": "B",
      "locale": "ru",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "работай до тяжёлого тройного, затем два подхода на 85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 7035,
      "cost_usd": 0.00062,
      "tokens_prompt": 880,
      "tokens_completion": 60,
      "ts": "2026-09-11T16:40:26.976Z",
      "diffs": [
        {
          "row": "M-B-ru-barbell-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-barbell-self",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-barbell-self",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "работай до тяжёлого тройного, затем два подхода на 85%"
        }
      ],
      "context": "context/M-B-ru-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-ru-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-zh-bodyweight-self",
      "seed": 2,
      "band": "B",
      "locale": "zh",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "3 组 8 次引体向上，最后一组做到力竭"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 2017,
      "cost_usd": 0.0006165,
      "tokens_prompt": 879,
      "tokens_completion": 59,
      "ts": "2026-09-11T16:40:27.378Z",
      "diffs": [
        {
          "row": "M-B-zh-bodyweight-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-zh-bodyweight-self",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-B-zh-bodyweight-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 组 8 次引体向上，最后一组做到力竭"
        }
      ],
      "context": "context/M-B-zh-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-zh-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-zh-bodyweight-self",
      "seed": 3,
      "band": "B",
      "locale": "zh",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "3 组 8 次引体向上，最后一组做到力竭"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 2119,
      "cost_usd": 0.0006165,
      "tokens_prompt": 879,
      "tokens_completion": 59,
      "ts": "2026-09-11T16:40:27.519Z",
      "diffs": [
        {
          "row": "M-B-zh-bodyweight-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-zh-bodyweight-self",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-B-zh-bodyweight-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 组 8 次引体向上，最后一组做到力竭"
        }
      ],
      "context": "context/M-B-zh-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-zh-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-de-endurance-self",
      "seed": 3,
      "band": "B",
      "locale": "de",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 1,
        "weight": null,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": 90,
            "rpe": null,
            "note": "200 Meter Ruder"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 11623,
      "cost_usd": 0.0004865,
      "tokens_prompt": 667,
      "tokens_completion": 51,
      "ts": "2026-09-11T16:40:27.714Z",
      "diffs": [
        {
          "row": "M-B-de-endurance-self",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-de-endurance-self",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "M-B-de-endurance-self",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "M-B-de-endurance-self",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5 Wiederholungen à 200 Meter Ruder, Pause 90 Sekunden"
        }
      ],
      "context": "context/M-B-de-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-de-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-zh-endurance-coach",
      "seed": 3,
      "band": "B",
      "locale": "zh",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 1,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "400 米，慢跑回来作为休息"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1307,
      "cost_usd": 0.000601,
      "tokens_prompt": 878,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:28.108Z",
      "diffs": [
        {
          "row": "M-B-zh-endurance-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-B-zh-endurance-coach",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "M-B-zh-endurance-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4 组 400 米，慢跑回来作为休息"
        }
      ],
      "context": "context/M-B-zh-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-zh-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-zh-endurance-coach",
      "seed": 2,
      "band": "B",
      "locale": "zh",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 1,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "400 米，慢跑回来作为休息"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1455,
      "cost_usd": 0.000601,
      "tokens_prompt": 878,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:28.255Z",
      "diffs": [
        {
          "row": "M-B-zh-endurance-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-B-zh-endurance-coach",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "M-B-zh-endurance-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4 组 400 米，慢跑回来作为休息"
        }
      ],
      "context": "context/M-B-zh-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-zh-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-en-barbell-coach",
      "seed": 1,
      "band": "C",
      "locale": "en",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Focus on bracing, film the top set"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1506,
      "cost_usd": 0.0005915,
      "tokens_prompt": 871,
      "tokens_completion": 52,
      "ts": "2026-09-11T16:40:28.483Z",
      "diffs": [
        {
          "row": "M-C-en-barbell-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Focus on bracing, film the top set"
        }
      ],
      "context": "context/M-C-en-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-en-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-en-barbell-coach",
      "seed": 2,
      "band": "C",
      "locale": "en",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Focus on bracing, film the top set"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1486,
      "cost_usd": 0.0005915,
      "tokens_prompt": 871,
      "tokens_completion": 52,
      "ts": "2026-09-11T16:40:28.865Z",
      "diffs": [
        {
          "row": "M-C-en-barbell-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Focus on bracing, film the top set"
        }
      ],
      "context": "context/M-C-en-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-en-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-en-barbell-coach",
      "seed": 3,
      "band": "C",
      "locale": "en",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Focus on bracing, film the top set"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1380,
      "cost_usd": 0.0005915,
      "tokens_prompt": 871,
      "tokens_completion": 52,
      "ts": "2026-09-11T16:40:28.900Z",
      "diffs": [
        {
          "row": "M-C-en-barbell-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Focus on bracing, film the top set"
        }
      ],
      "context": "context/M-C-en-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-en-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-en-bodyweight-self",
      "seed": 1,
      "band": "C",
      "locale": "en",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 20,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 band pull-aparts between sets"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1276,
      "cost_usd": 0.0005985,
      "tokens_prompt": 873,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:28.990Z",
      "diffs": [
        {
          "row": "M-C-en-bodyweight-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "20 band pull-aparts between sets"
        }
      ],
      "context": "context/M-C-en-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-en-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-it-conditioning-self",
      "seed": 2,
      "band": "B",
      "locale": "it",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 12,
        "reps": 3,
        "weight": 70
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 12,
            "reps": 3,
            "weight_kg": 70,
            "rest_seconds": 60,
            "rpe": null,
            "note": "EMOM 12 minuti: 3 clean a 70kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 11893,
      "cost_usd": 0.0005175,
      "tokens_prompt": 663,
      "tokens_completion": 62,
      "ts": "2026-09-11T16:40:29.679Z",
      "diffs": [
        {
          "row": "M-B-it-conditioning-self",
          "field": "sets",
          "expected": 12,
          "actual": 12,
          "verdict": "match"
        },
        {
          "row": "M-B-it-conditioning-self",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-it-conditioning-self",
          "field": "weight_kg",
          "expected": 70,
          "actual": 70,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "EMOM 12 minuti: 3 clean a 70kg"
        }
      ],
      "context": "context/M-B-it-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-it-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-en-conditioning-coach",
      "seed": 1,
      "band": "C",
      "locale": "en",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Ask me how the knee felt after the metcon"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1356,
      "cost_usd": 0.0005985,
      "tokens_prompt": 873,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:29.839Z",
      "diffs": [
        {
          "row": "M-C-en-conditioning-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Ask me how the knee felt after the metcon"
        }
      ],
      "context": "context/M-C-en-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-en-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-en-bodyweight-self",
      "seed": 2,
      "band": "C",
      "locale": "en",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 20,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 band pull-aparts between sets"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1883,
      "cost_usd": 0.0005985,
      "tokens_prompt": 873,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:29.991Z",
      "diffs": [
        {
          "row": "M-C-en-bodyweight-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "20 band pull-aparts between sets"
        }
      ],
      "context": "context/M-C-en-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-en-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-en-bodyweight-self",
      "seed": 3,
      "band": "C",
      "locale": "en",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 20,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 band pull-aparts between sets"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1948,
      "cost_usd": 0.0005985,
      "tokens_prompt": 873,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:30.204Z",
      "diffs": [
        {
          "row": "M-C-en-bodyweight-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "20 band pull-aparts between sets"
        }
      ],
      "context": "context/M-C-en-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-en-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-en-conditioning-coach",
      "seed": 3,
      "band": "C",
      "locale": "en",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Ask me how the knee felt after the metcon"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2803,
      "cost_usd": 0.0005985,
      "tokens_prompt": 873,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:31.704Z",
      "diffs": [
        {
          "row": "M-C-en-conditioning-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Ask me how the knee felt after the metcon"
        }
      ],
      "context": "context/M-C-en-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-en-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-B-ru-bodyweight-coach",
      "seed": 2,
      "band": "B",
      "locale": "ru",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "последний до отказа"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 11636,
      "cost_usd": 0.0004745,
      "tokens_prompt": 661,
      "tokens_completion": 48,
      "ts": "2026-09-11T16:40:32.070Z",
      "diffs": [
        {
          "row": "M-B-ru-bodyweight-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-bodyweight-coach",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 подхода по 8 подтягиваний, последний до отказа"
        }
      ],
      "context": "context/M-B-ru-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-ru-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-pl-bodyweight-coach",
      "seed": 3,
      "band": "C",
      "locale": "pl",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "skup się na spięciu brzucha, nie dopisuj serii"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1154,
      "cost_usd": 0.0006155,
      "tokens_prompt": 877,
      "tokens_completion": 59,
      "ts": "2026-09-11T16:40:32.858Z",
      "diffs": [
        {
          "row": "M-C-pl-bodyweight-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "skup się na spięciu brzucha, nie dopisuj serii"
        }
      ],
      "context": "context/M-C-pl-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-pl-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-pl-bodyweight-coach",
      "seed": 1,
      "band": "C",
      "locale": "pl",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "skup się na spięciu brzucha, nie dopisuj serii"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3407,
      "cost_usd": 0.0006155,
      "tokens_prompt": 877,
      "tokens_completion": 59,
      "ts": "2026-09-11T16:40:33.399Z",
      "diffs": [
        {
          "row": "M-C-pl-bodyweight-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "skup się na spięciu brzucha, nie dopisuj serii"
        }
      ],
      "context": "context/M-C-pl-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-pl-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-pl-endurance-self",
      "seed": 1,
      "band": "C",
      "locale": "pl",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 rozciągnięć gumą między seriami, to nie jest robota"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1605,
      "cost_usd": 0.0006235,
      "tokens_prompt": 881,
      "tokens_completion": 61,
      "ts": "2026-09-11T16:40:33.675Z",
      "diffs": [
        {
          "row": "M-C-pl-endurance-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "20 rozciągnięć gumą między seriami, to nie jest robota"
        }
      ],
      "context": "context/M-C-pl-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-pl-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-pl-barbell-self",
      "seed": 1,
      "band": "C",
      "locale": "pl",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "zapytaj mnie jak pójdzie"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4733,
      "cost_usd": 0.0005915,
      "tokens_prompt": 871,
      "tokens_completion": 52,
      "ts": "2026-09-11T16:40:33.723Z",
      "diffs": [
        {
          "row": "M-C-pl-barbell-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "zapytaj mnie jak pójdzie"
        }
      ],
      "context": "context/M-C-pl-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-pl-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-en-conditioning-coach",
      "seed": 2,
      "band": "C",
      "locale": "en",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Ask me how the knee felt after the metcon"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4862,
      "cost_usd": 0.0005985,
      "tokens_prompt": 873,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:33.727Z",
      "diffs": [
        {
          "row": "M-C-en-conditioning-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Ask me how the knee felt after the metcon"
        }
      ],
      "context": "context/M-C-en-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-en-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-pl-bodyweight-coach",
      "seed": 2,
      "band": "C",
      "locale": "pl",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "skup się na spięciu brzucha, nie dopisuj serii"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4032,
      "cost_usd": 0.0006155,
      "tokens_prompt": 877,
      "tokens_completion": 59,
      "ts": "2026-09-11T16:40:34.236Z",
      "diffs": [
        {
          "row": "M-C-pl-bodyweight-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "skup się na spięciu brzucha, nie dopisuj serii"
        }
      ],
      "context": "context/M-C-pl-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-pl-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-pl-barbell-self",
      "seed": 2,
      "band": "C",
      "locale": "pl",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "zapytaj mnie jak pójdzie"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4863,
      "cost_usd": 0.0005915,
      "tokens_prompt": 871,
      "tokens_completion": 52,
      "ts": "2026-09-11T16:40:34.543Z",
      "diffs": [
        {
          "row": "M-C-pl-barbell-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "zapytaj mnie jak pójdzie"
        }
      ],
      "context": "context/M-C-pl-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-pl-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-pl-endurance-self",
      "seed": 2,
      "band": "C",
      "locale": "pl",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 rozciągnięć gumą między seriami, to nie jest robota"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1850,
      "cost_usd": 0.0006235,
      "tokens_prompt": 881,
      "tokens_completion": 61,
      "ts": "2026-09-11T16:40:34.708Z",
      "diffs": [
        {
          "row": "M-C-pl-endurance-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "20 rozciągnięć gumą między seriami, to nie jest robota"
        }
      ],
      "context": "context/M-C-pl-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-pl-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-es-conditioning-self",
      "seed": 2,
      "band": "C",
      "locale": "es",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "graba la serie pesada y me la mandas"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1237,
      "cost_usd": 0.000602,
      "tokens_prompt": 874,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:40:35.780Z",
      "diffs": [
        {
          "row": "M-C-es-conditioning-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "graba la serie pesada y me la mandas"
        }
      ],
      "context": "context/M-C-es-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-es-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-es-barbell-coach",
      "seed": 1,
      "band": "C",
      "locale": "es",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Siente el glúteo en cada repetición"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2186,
      "cost_usd": 0.000602,
      "tokens_prompt": 874,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:40:35.861Z",
      "diffs": [
        {
          "row": "M-C-es-barbell-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Siente el glúteo en cada repetición"
        }
      ],
      "context": "context/M-C-es-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-es-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-es-conditioning-self",
      "seed": 3,
      "band": "C",
      "locale": "es",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "graba la serie pesada y me la mandas"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1553,
      "cost_usd": 0.000602,
      "tokens_prompt": 874,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:40:36.261Z",
      "diffs": [
        {
          "row": "M-C-es-conditioning-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "graba la serie pesada y me la mandas"
        }
      ],
      "context": "context/M-C-es-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-es-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-es-endurance-coach",
      "seed": 1,
      "band": "C",
      "locale": "es",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 pull-aparts de banda entre series"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1095,
      "cost_usd": 0.000599,
      "tokens_prompt": 874,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:36.875Z",
      "diffs": [
        {
          "row": "M-C-es-endurance-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "20 pull-aparts de banda entre series"
        }
      ],
      "context": "context/M-C-es-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-es-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-pl-barbell-self",
      "seed": 3,
      "band": "C",
      "locale": "pl",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "zapytaj mnie jak pójdzie"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 7115,
      "cost_usd": 0.0005915,
      "tokens_prompt": 871,
      "tokens_completion": 52,
      "ts": "2026-09-11T16:40:36.954Z",
      "diffs": [
        {
          "row": "M-C-pl-barbell-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "zapytaj mnie jak pójdzie"
        }
      ],
      "context": "context/M-C-pl-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-pl-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-es-endurance-coach",
      "seed": 2,
      "band": "C",
      "locale": "es",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 pull-aparts de banda entre series"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1818,
      "cost_usd": 0.000599,
      "tokens_prompt": 874,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:37.679Z",
      "diffs": [
        {
          "row": "M-C-es-endurance-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "20 pull-aparts de banda entre series"
        }
      ],
      "context": "context/M-C-es-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-es-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-es-barbell-coach",
      "seed": 3,
      "band": "C",
      "locale": "es",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Siente el glúteo en cada repetición"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4077,
      "cost_usd": 0.000602,
      "tokens_prompt": 874,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:40:37.804Z",
      "diffs": [
        {
          "row": "M-C-es-barbell-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Siente el glúteo en cada repetición"
        }
      ],
      "context": "context/M-C-es-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-es-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-fr-barbell-self",
      "seed": 1,
      "band": "C",
      "locale": "fr",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "filme la série lourde, on regarde après"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1016,
      "cost_usd": 0.000598,
      "tokens_prompt": 872,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:37.891Z",
      "diffs": [
        {
          "row": "M-C-fr-barbell-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "filme la série lourde, on regarde après"
        }
      ],
      "context": "context/M-C-fr-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-fr-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-es-endurance-coach",
      "seed": 3,
      "band": "C",
      "locale": "es",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 pull-aparts de banda entre series"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1682,
      "cost_usd": 0.000599,
      "tokens_prompt": 874,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:37.943Z",
      "diffs": [
        {
          "row": "M-C-es-endurance-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "20 pull-aparts de banda entre series"
        }
      ],
      "context": "context/M-C-es-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-es-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-pl-endurance-self",
      "seed": 3,
      "band": "C",
      "locale": "pl",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 rozciągnięć gumą między seriami, to nie jest robota"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4810,
      "cost_usd": 0.0006235,
      "tokens_prompt": 881,
      "tokens_completion": 61,
      "ts": "2026-09-11T16:40:38.209Z",
      "diffs": [
        {
          "row": "M-C-pl-endurance-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "20 rozciągnięć gumą między seriami, to nie jest robota"
        }
      ],
      "context": "context/M-C-pl-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-pl-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-fr-barbell-self",
      "seed": 2,
      "band": "C",
      "locale": "fr",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "filme la série lourde, on regarde après"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1297,
      "cost_usd": 0.000598,
      "tokens_prompt": 872,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:38.251Z",
      "diffs": [
        {
          "row": "M-C-fr-barbell-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "filme la série lourde, on regarde après"
        }
      ],
      "context": "context/M-C-fr-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-fr-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-es-conditioning-self",
      "seed": 1,
      "band": "C",
      "locale": "es",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "graba la serie pesada y me la mandas"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4747,
      "cost_usd": 0.000602,
      "tokens_prompt": 874,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:40:38.984Z",
      "diffs": [
        {
          "row": "M-C-es-conditioning-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "graba la serie pesada y me la mandas"
        }
      ],
      "context": "context/M-C-es-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-es-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-fr-barbell-self",
      "seed": 3,
      "band": "C",
      "locale": "fr",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "filme la série lourde, on regarde après"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1384,
      "cost_usd": 0.000598,
      "tokens_prompt": 872,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:39.064Z",
      "diffs": [
        {
          "row": "M-C-fr-barbell-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "filme la série lourde, on regarde après"
        }
      ],
      "context": "context/M-C-fr-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-fr-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-fr-conditioning-self",
      "seed": 1,
      "band": "C",
      "locale": "fr",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "dis-moi comment le genou a réagi"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1180,
      "cost_usd": 0.0005985,
      "tokens_prompt": 873,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:39.390Z",
      "diffs": [
        {
          "row": "M-C-fr-conditioning-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "dis-moi comment le genou a réagi"
        }
      ],
      "context": "context/M-C-fr-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-fr-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-fr-conditioning-self",
      "seed": 2,
      "band": "C",
      "locale": "fr",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "dis-moi comment le genou a réagi"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1174,
      "cost_usd": 0.0005985,
      "tokens_prompt": 873,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:39.426Z",
      "diffs": [
        {
          "row": "M-C-fr-conditioning-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "dis-moi comment le genou a réagi"
        }
      ],
      "context": "context/M-C-fr-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-fr-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-fr-bodyweight-coach",
      "seed": 2,
      "band": "C",
      "locale": "fr",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "garde les épaules basses, ce n'est pas une série"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1958,
      "cost_usd": 0.0006055,
      "tokens_prompt": 875,
      "tokens_completion": 56,
      "ts": "2026-09-11T16:40:39.849Z",
      "diffs": [
        {
          "row": "M-C-fr-bodyweight-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "garde les épaules basses, ce n'est pas une série"
        }
      ],
      "context": "context/M-C-fr-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-fr-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-fr-bodyweight-coach",
      "seed": 3,
      "band": "C",
      "locale": "fr",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "garde les épaules basses, ce n'est pas une série"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2093,
      "cost_usd": 0.0006055,
      "tokens_prompt": 875,
      "tokens_completion": 56,
      "ts": "2026-09-11T16:40:40.036Z",
      "diffs": [
        {
          "row": "M-C-fr-bodyweight-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "garde les épaules basses, ce n'est pas une série"
        }
      ],
      "context": "context/M-C-fr-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-fr-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-de-barbell-coach",
      "seed": 3,
      "band": "C",
      "locale": "de",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "auf die Spannung achten, den schweren Satz filmen"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 967,
      "cost_usd": 0.0005985,
      "tokens_prompt": 873,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:40.393Z",
      "diffs": [
        {
          "row": "M-C-de-barbell-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "auf die Spannung achten, den schweren Satz filmen"
        }
      ],
      "context": "context/M-C-de-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-de-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-fr-conditioning-self",
      "seed": 3,
      "band": "C",
      "locale": "fr",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "dis-moi comment le genou a réagi"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1599,
      "cost_usd": 0.0005985,
      "tokens_prompt": 873,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:40.584Z",
      "diffs": [
        {
          "row": "M-C-fr-conditioning-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "dis-moi comment le genou a réagi"
        }
      ],
      "context": "context/M-C-fr-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-fr-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-de-barbell-coach",
      "seed": 1,
      "band": "C",
      "locale": "de",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "auf die Spannung achten, den schweren Satz filmen"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1524,
      "cost_usd": 0.0005985,
      "tokens_prompt": 873,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:40.588Z",
      "diffs": [
        {
          "row": "M-C-de-barbell-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "auf die Spannung achten, den schweren Satz filmen"
        }
      ],
      "context": "context/M-C-de-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-de-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-de-bodyweight-self",
      "seed": 1,
      "band": "C",
      "locale": "de",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 Band Pull-aparts zwischen den Sätzen"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1040,
      "cost_usd": 0.0006025,
      "tokens_prompt": 875,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:40:40.889Z",
      "diffs": [
        {
          "row": "M-C-de-bodyweight-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "20 Band Pull-aparts zwischen den Sätzen"
        }
      ],
      "context": "context/M-C-de-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-de-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-de-bodyweight-self",
      "seed": 2,
      "band": "C",
      "locale": "de",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 Band Pull-aparts zwischen den Sätzen"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1248,
      "cost_usd": 0.0006025,
      "tokens_prompt": 875,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:40:41.284Z",
      "diffs": [
        {
          "row": "M-C-de-bodyweight-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "20 Band Pull-aparts zwischen den Sätzen"
        }
      ],
      "context": "context/M-C-de-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-de-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-de-barbell-coach",
      "seed": 2,
      "band": "C",
      "locale": "de",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "auf die Spannung achten, den schweren Satz filmen"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2005,
      "cost_usd": 0.0005985,
      "tokens_prompt": 873,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:41.396Z",
      "diffs": [
        {
          "row": "M-C-de-barbell-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "auf die Spannung achten, den schweren Satz filmen"
        }
      ],
      "context": "context/M-C-de-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-de-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-de-bodyweight-self",
      "seed": 3,
      "band": "C",
      "locale": "de",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 Band Pull-aparts zwischen den Sätzen"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1307,
      "cost_usd": 0.0006025,
      "tokens_prompt": 875,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:40:41.700Z",
      "diffs": [
        {
          "row": "M-C-de-bodyweight-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "20 Band Pull-aparts zwischen den Sätzen"
        }
      ],
      "context": "context/M-C-de-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-de-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-de-endurance-coach",
      "seed": 1,
      "band": "C",
      "locale": "de",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "frag mich nachher wie sich das Knie anfühlt"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1545,
      "cost_usd": 0.000602,
      "tokens_prompt": 874,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:40:42.129Z",
      "diffs": [
        {
          "row": "M-C-de-endurance-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "frag mich nachher wie sich das Knie anfühlt"
        }
      ],
      "context": "context/M-C-de-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-de-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-es-barbell-coach",
      "seed": 2,
      "band": "C",
      "locale": "es",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Siente el glúteo en cada repetición"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 8521,
      "cost_usd": 0.000602,
      "tokens_prompt": 874,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:40:42.244Z",
      "diffs": [
        {
          "row": "M-C-es-barbell-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Siente el glúteo en cada repetición"
        }
      ],
      "context": "context/M-C-es-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-es-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-it-barbell-self",
      "seed": 3,
      "band": "C",
      "locale": "it",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "filma la serie pesante, poi ne parliamo"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1602,
      "cost_usd": 0.0005985,
      "tokens_prompt": 873,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:43.303Z",
      "diffs": [
        {
          "row": "M-C-it-barbell-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "filma la serie pesante, poi ne parliamo"
        }
      ],
      "context": "context/M-C-it-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-it-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-de-endurance-coach",
      "seed": 2,
      "band": "C",
      "locale": "de",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "frag mich nachher wie sich das Knie anfühlt"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2795,
      "cost_usd": 0.000602,
      "tokens_prompt": 874,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:40:43.384Z",
      "diffs": [
        {
          "row": "M-C-de-endurance-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "frag mich nachher wie sich das Knie anfühlt"
        }
      ],
      "context": "context/M-C-de-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-de-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-it-barbell-self",
      "seed": 1,
      "band": "C",
      "locale": "it",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "filma la serie pesante, poi ne parliamo"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2337,
      "cost_usd": 0.0005985,
      "tokens_prompt": 873,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:43.621Z",
      "diffs": [
        {
          "row": "M-C-it-barbell-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "filma la serie pesante, poi ne parliamo"
        }
      ],
      "context": "context/M-C-it-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-it-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-it-conditioning-coach",
      "seed": 2,
      "band": "C",
      "locale": "it",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 band pull-apart tra le serie, non è il lavoro"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1533,
      "cost_usd": 0.000613,
      "tokens_prompt": 878,
      "tokens_completion": 58,
      "ts": "2026-09-11T16:40:43.777Z",
      "diffs": [
        {
          "row": "M-C-it-conditioning-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "20 band pull-apart tra le serie, non è il lavoro"
        }
      ],
      "context": "context/M-C-it-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-it-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-it-conditioning-coach",
      "seed": 1,
      "band": "C",
      "locale": "it",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 band pull-apart tra le serie, non è il lavoro"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1877,
      "cost_usd": 0.000613,
      "tokens_prompt": 878,
      "tokens_completion": 58,
      "ts": "2026-09-11T16:40:44.006Z",
      "diffs": [
        {
          "row": "M-C-it-conditioning-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "20 band pull-apart tra le serie, non è il lavoro"
        }
      ],
      "context": "context/M-C-it-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-it-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-it-endurance-self",
      "seed": 2,
      "band": "C",
      "locale": "it",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "dimmi com'è andato il ginocchio dopo"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1312,
      "cost_usd": 0.000602,
      "tokens_prompt": 874,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:40:44.933Z",
      "diffs": [
        {
          "row": "M-C-it-endurance-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "dimmi com'è andato il ginocchio dopo"
        }
      ],
      "context": "context/M-C-it-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-it-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-it-endurance-self",
      "seed": 1,
      "band": "C",
      "locale": "it",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "dimmi com'è andato il ginocchio dopo"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1696,
      "cost_usd": 0.000602,
      "tokens_prompt": 874,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:40:45.081Z",
      "diffs": [
        {
          "row": "M-C-it-endurance-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "dimmi com'è andato il ginocchio dopo"
        }
      ],
      "context": "context/M-C-it-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-it-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-it-endurance-self",
      "seed": 3,
      "band": "C",
      "locale": "it",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "dimmi com'è andato il ginocchio dopo"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1328,
      "cost_usd": 0.000602,
      "tokens_prompt": 874,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:40:45.106Z",
      "diffs": [
        {
          "row": "M-C-it-endurance-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "dimmi com'è andato il ginocchio dopo"
        }
      ],
      "context": "context/M-C-it-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-it-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-it-conditioning-coach",
      "seed": 3,
      "band": "C",
      "locale": "it",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 band pull-apart tra le serie, non è il lavoro"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1855,
      "cost_usd": 0.000613,
      "tokens_prompt": 878,
      "tokens_completion": 58,
      "ts": "2026-09-11T16:40:45.158Z",
      "diffs": [
        {
          "row": "M-C-it-conditioning-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "20 band pull-apart tra le serie, non è il lavoro"
        }
      ],
      "context": "context/M-C-it-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-it-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-de-endurance-coach",
      "seed": 3,
      "band": "C",
      "locale": "de",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "frag mich nachher wie sich das Knie anfühlt"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4969,
      "cost_usd": 0.000602,
      "tokens_prompt": 874,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:40:45.859Z",
      "diffs": [
        {
          "row": "M-C-de-endurance-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "frag mich nachher wie sich das Knie anfühlt"
        }
      ],
      "context": "context/M-C-de-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-de-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-it-barbell-self",
      "seed": 2,
      "band": "C",
      "locale": "it",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "filma la serie pesante, poi ne parliamo"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4665,
      "cost_usd": 0.0005985,
      "tokens_prompt": 873,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:46.061Z",
      "diffs": [
        {
          "row": "M-C-it-barbell-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "filma la serie pesante, poi ne parliamo"
        }
      ],
      "context": "context/M-C-it-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-it-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-ru-barbell-coach",
      "seed": 3,
      "band": "C",
      "locale": "ru",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "снимай тяжёлый подход, потом разберём"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1439,
      "cost_usd": 0.000598,
      "tokens_prompt": 872,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:46.520Z",
      "diffs": [
        {
          "row": "M-C-ru-barbell-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "снимай тяжёлый подход, потом разберём"
        }
      ],
      "context": "context/M-C-ru-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-ru-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-ru-barbell-coach",
      "seed": 1,
      "band": "C",
      "locale": "ru",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "снимай тяжёлый подход, потом разберём"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2551,
      "cost_usd": 0.000598,
      "tokens_prompt": 872,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:46.558Z",
      "diffs": [
        {
          "row": "M-C-ru-barbell-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "снимай тяжёлый подход, потом разберём"
        }
      ],
      "context": "context/M-C-ru-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-ru-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-ru-bodyweight-self",
      "seed": 2,
      "band": "C",
      "locale": "ru",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 20,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 разведений с резинкой между подходами"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1480,
      "cost_usd": 0.0006055,
      "tokens_prompt": 875,
      "tokens_completion": 56,
      "ts": "2026-09-11T16:40:46.638Z",
      "diffs": [
        {
          "row": "M-C-ru-bodyweight-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "20 разведений с резинкой между подходами"
        }
      ],
      "context": "context/M-C-ru-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-ru-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-ru-barbell-coach",
      "seed": 2,
      "band": "C",
      "locale": "ru",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "снимай тяжёлый подход, потом разберём"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1792,
      "cost_usd": 0.000598,
      "tokens_prompt": 872,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:40:46.725Z",
      "diffs": [
        {
          "row": "M-C-ru-barbell-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "снимай тяжёлый подход, потом разберём"
        }
      ],
      "context": "context/M-C-ru-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-ru-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-ru-bodyweight-self",
      "seed": 1,
      "band": "C",
      "locale": "ru",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 20,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 разведений с резинкой между подходами"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1871,
      "cost_usd": 0.0006055,
      "tokens_prompt": 875,
      "tokens_completion": 56,
      "ts": "2026-09-11T16:40:46.977Z",
      "diffs": [
        {
          "row": "M-C-ru-bodyweight-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "20 разведений с резинкой между подходами"
        }
      ],
      "context": "context/M-C-ru-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-ru-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-ru-conditioning-coach",
      "seed": 1,
      "band": "C",
      "locale": "ru",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "спроси как колено после комплекса"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1308,
      "cost_usd": 0.000591,
      "tokens_prompt": 870,
      "tokens_completion": 52,
      "ts": "2026-09-11T16:40:47.369Z",
      "diffs": [
        {
          "row": "M-C-ru-conditioning-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "спроси как колено после комплекса"
        }
      ],
      "context": "context/M-C-ru-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-ru-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-ru-bodyweight-self",
      "seed": 3,
      "band": "C",
      "locale": "ru",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 20,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 разведений с резинкой между подходами"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1670,
      "cost_usd": 0.0006055,
      "tokens_prompt": 875,
      "tokens_completion": 56,
      "ts": "2026-09-11T16:40:47.529Z",
      "diffs": [
        {
          "row": "M-C-ru-bodyweight-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "20 разведений с резинкой между подходами"
        }
      ],
      "context": "context/M-C-ru-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-ru-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-ru-conditioning-coach",
      "seed": 2,
      "band": "C",
      "locale": "ru",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "спроси как колено после комплекса"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1569,
      "cost_usd": 0.000591,
      "tokens_prompt": 870,
      "tokens_completion": 52,
      "ts": "2026-09-11T16:40:48.090Z",
      "diffs": [
        {
          "row": "M-C-ru-conditioning-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "спроси как колено после комплекса"
        }
      ],
      "context": "context/M-C-ru-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-ru-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-zh-barbell-self",
      "seed": 2,
      "band": "C",
      "locale": "zh",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "顶组拍个视频，先别写成组数"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1523,
      "cost_usd": 0.000606,
      "tokens_prompt": 876,
      "tokens_completion": 56,
      "ts": "2026-09-11T16:40:48.249Z",
      "diffs": [
        {
          "row": "M-C-zh-barbell-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "顶组拍个视频，先别写成组数"
        }
      ],
      "context": "context/M-C-zh-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-zh-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-zh-barbell-self",
      "seed": 3,
      "band": "C",
      "locale": "zh",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "顶组拍个视频，先别写成组数"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1580,
      "cost_usd": 0.000606,
      "tokens_prompt": 876,
      "tokens_completion": 56,
      "ts": "2026-09-11T16:40:48.557Z",
      "diffs": [
        {
          "row": "M-C-zh-barbell-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "顶组拍个视频，先别写成组数"
        }
      ],
      "context": "context/M-C-zh-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-zh-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-zh-bodyweight-coach",
      "seed": 1,
      "band": "C",
      "locale": "zh",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "组间做 20 次弹力带拉开，那不是正式组"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1545,
      "cost_usd": 0.0006235,
      "tokens_prompt": 881,
      "tokens_completion": 61,
      "ts": "2026-09-11T16:40:48.914Z",
      "diffs": [
        {
          "row": "M-C-zh-bodyweight-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "组间做 20 次弹力带拉开，那不是正式组"
        }
      ],
      "context": "context/M-C-zh-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-zh-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-zh-bodyweight-coach",
      "seed": 2,
      "band": "C",
      "locale": "zh",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "组间做 20 次弹力带拉开，那不是正式组"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1461,
      "cost_usd": 0.0006235,
      "tokens_prompt": 881,
      "tokens_completion": 61,
      "ts": "2026-09-11T16:40:48.990Z",
      "diffs": [
        {
          "row": "M-C-zh-bodyweight-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "组间做 20 次弹力带拉开，那不是正式组"
        }
      ],
      "context": "context/M-C-zh-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-zh-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-zh-bodyweight-coach",
      "seed": 3,
      "band": "C",
      "locale": "zh",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "组间做 20 次弹力带拉开，那不是正式组"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1680,
      "cost_usd": 0.0006235,
      "tokens_prompt": 881,
      "tokens_completion": 61,
      "ts": "2026-09-11T16:40:49.770Z",
      "diffs": [
        {
          "row": "M-C-zh-bodyweight-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "组间做 20 次弹力带拉开，那不是正式组"
        }
      ],
      "context": "context/M-C-zh-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-zh-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-zh-endurance-self",
      "seed": 1,
      "band": "C",
      "locale": "zh",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "跑完告诉我膝盖感觉怎么样"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1674,
      "cost_usd": 0.0005885,
      "tokens_prompt": 871,
      "tokens_completion": 51,
      "ts": "2026-09-11T16:40:49.924Z",
      "diffs": [
        {
          "row": "M-C-zh-endurance-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "跑完告诉我膝盖感觉怎么样"
        }
      ],
      "context": "context/M-C-zh-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-zh-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-fr-bodyweight-coach",
      "seed": 1,
      "band": "C",
      "locale": "fr",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "garde les épaules basses, ce n'est pas une série"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 12300,
      "cost_usd": 0.000498,
      "tokens_prompt": 660,
      "tokens_completion": 56,
      "ts": "2026-09-11T16:40:50.104Z",
      "diffs": [
        {
          "row": "M-C-fr-bodyweight-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "garde les épaules basses, ce n'est pas une série"
        }
      ],
      "context": "context/M-C-fr-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-fr-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-zh-endurance-self",
      "seed": 2,
      "band": "C",
      "locale": "zh",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "跑完告诉我膝盖感觉怎么样"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1588,
      "cost_usd": 0.0005885,
      "tokens_prompt": 871,
      "tokens_completion": 51,
      "ts": "2026-09-11T16:40:50.145Z",
      "diffs": [
        {
          "row": "M-C-zh-endurance-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "跑完告诉我膝盖感觉怎么样"
        }
      ],
      "context": "context/M-C-zh-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-zh-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-ru-conditioning-coach",
      "seed": 3,
      "band": "C",
      "locale": "ru",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "спроси как колено после комплекса"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4078,
      "cost_usd": 0.000591,
      "tokens_prompt": 870,
      "tokens_completion": 52,
      "ts": "2026-09-11T16:40:50.637Z",
      "diffs": [
        {
          "row": "M-C-ru-conditioning-coach",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "спроси как колено после комплекса"
        }
      ],
      "context": "context/M-C-ru-conditioning-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-ru-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-zh-barbell-self",
      "seed": 1,
      "band": "C",
      "locale": "zh",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "顶组拍个视频，先别写成组数"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4884,
      "cost_usd": 0.000606,
      "tokens_prompt": 876,
      "tokens_completion": 56,
      "ts": "2026-09-11T16:40:51.523Z",
      "diffs": [
        {
          "row": "M-C-zh-barbell-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "顶组拍个视频，先别写成组数"
        }
      ],
      "context": "context/M-C-zh-barbell-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-zh-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-D-en-barbell-self-crossfit",
      "seed": 1,
      "band": "D",
      "locale": "en",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "rows": [
          {
            "match": "/warm-?up|two rounds/i",
            "label": "warm-up two rounds",
            "sets": 2,
            "reps": 5
          },
          {
            "match": "/snatch/i",
            "label": "snatch E2MOM",
            "sets": 7,
            "weight": null,
            "rest": 120
          },
          {
            "match": "/dead-stop deadlift/i",
            "label": "dead-stop deadlift",
            "sets": 5,
            "reps": 5,
            "weight": 188.2
          },
          {
            "match": "/ab wheel/i",
            "label": "ab wheel",
            "sets": 5,
            "weight": 0
          },
          {
            "match": "/romanian|barbell rows/i",
            "label": "RDL / barbell rows",
            "sets": 2,
            "reps": 8,
            "weight": 102.1
          },
          {
            "match": "/bulgarian/i",
            "label": "Bulgarian split squat",
            "sets": 1,
            "reps": 15,
            "weight": 54.4
          },
          {
            "match": "/thirty-nine|39/i",
            "label": "39 burpees",
            "sets": 1,
            "reps": 39,
            "weight": 0
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "250 meter row just to get warm"
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 2,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "two rounds, five burpees and some PVC pass-throughs each round"
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 7,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": 120,
            "rpe": null,
            "note": "snatch complex: seven sets, E2MOM, work up to a heavy weight"
          },
          {
            "id": "L3",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 188.24,
            "rest_seconds": null,
            "rpe": null,
            "note": "five by five dead-stop deadlifts at 415 pounds, paired with one ab wheel rollout"
          },
          {
            "id": "L4",
            "is_prescription": true,
            "sets": 2,
            "reps": 8,
            "weight_kg": 102.06,
            "rest_seconds": null,
            "rpe": null,
            "note": "superset of barbell rows and Romanian deadlifts, two sets of eight at 225 pounds"
          },
          {
            "id": "L5",
            "is_prescription": true,
            "sets": 1,
            "reps": 15,
            "weight_kg": 54.43,
            "rest_seconds": null,
            "rpe": null,
            "note": "one set of fifteen Bulgarian split squats at 120 pounds"
          },
          {
            "id": "L6",
            "is_prescription": true,
            "sets": 1,
            "reps": 39,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "thirty-nine burpees for time, AFAP, as fast as possible"
          }
        ]
      },
      "score_line": 94.7,
      "fields": 19,
      "ok": 18,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 3165,
      "cost_usd": 0.001772,
      "tokens_prompt": 1066,
      "tokens_completion": 413,
      "ts": "2026-09-11T16:40:52.155Z",
      "diffs": [
        {
          "row": "warm-up two rounds",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up two rounds",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "snatch E2MOM",
          "field": "sets",
          "expected": 7,
          "actual": 7,
          "verdict": "match"
        },
        {
          "row": "snatch E2MOM",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "snatch E2MOM",
          "field": "rest_seconds",
          "expected": 120,
          "actual": 120,
          "verdict": "match"
        },
        {
          "row": "dead-stop deadlift",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "dead-stop deadlift",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "dead-stop deadlift",
          "field": "weight_kg",
          "expected": 188.2,
          "actual": 188.24,
          "verdict": "match"
        },
        {
          "row": "ab wheel",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "ab wheel",
          "field": "weight_kg",
          "expected": 0,
          "actual": 188.24,
          "verdict": "miss"
        },
        {
          "row": "RDL / barbell rows",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "RDL / barbell rows",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "RDL / barbell rows",
          "field": "weight_kg",
          "expected": 102.1,
          "actual": 102.06,
          "verdict": "match"
        },
        {
          "row": "Bulgarian split squat",
          "field": "sets",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "Bulgarian split squat",
          "field": "reps",
          "expected": 15,
          "actual": 15,
          "verdict": "match"
        },
        {
          "row": "Bulgarian split squat",
          "field": "weight_kg",
          "expected": 54.4,
          "actual": 54.43,
          "verdict": "match"
        },
        {
          "row": "39 burpees",
          "field": "sets",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "39 burpees",
          "field": "reps",
          "expected": 39,
          "actual": 39,
          "verdict": "match"
        },
        {
          "row": "39 burpees",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Alright so today. Start with a 250 meter row just to get warm."
        },
        {
          "id": "L1",
          "text": "Then a warm-up, two rounds, five burpees and some PVC pass-throughs each round."
        },
        {
          "id": "L2",
          "text": "Then the snatch complex: seven sets, E2MOM, every two minutes, work up to a heavy weight — I have not picked the load yet."
        },
        {
          "id": "L3",
          "text": "Then five by five dead-stop deadlifts at 415 pounds, and after each deadlift set do one ab wheel rollout so pair those, five ab wheels with the five deadlift sets."
        },
        {
          "id": "L4",
          "text": "Then a superset of barbell rows and Romanian deadlifts, two sets of eight at 225 pounds."
        },
        {
          "id": "L5",
          "text": "Then one set of fifteen Bulgarian split squats at 120 pounds."
        },
        {
          "id": "L6",
          "text": "Finish with thirty-nine burpees for time, AFAP, as fast as possible. Just save the plan for today, September tenth."
        }
      ],
      "context": "context/M-D-en-barbell-self-crossfit.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-en-barbell-self-crossfit.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-D-pl-barbell-coach",
      "seed": 1,
      "band": "D",
      "locale": "pl",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "rows": [
          {
            "match": "/rozgrzewka|przysiadów z kettlem/i",
            "label": "warm-up kettle squats",
            "sets": 2,
            "reps": 10,
            "weight": null
          },
          {
            "match": "/przysiad 5x5/i",
            "label": "squat 5x5",
            "sets": 5,
            "reps": 5,
            "weight": 100,
            "rest": 120
          },
          {
            "match": "/wyciskanie/i",
            "label": "bench press",
            "sets": 4,
            "reps": 6,
            "weight": null
          },
          {
            "match": "/wiosłowanie/i",
            "label": "barbell row",
            "sets": 3,
            "reps": 8,
            "weight": 80
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 10,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Rozgrzewka 2 rundy: 10 przysiadów z kettlem."
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 120,
            "rpe": null,
            "note": "Przysiad 5x5 @100kg, przerwa 2 min."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Wyciskanie 4 serie po 6, ciężar dobierz tak żeby było ciężko."
          },
          {
            "id": "L3",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 80,
            "rest_seconds": null,
            "rpe": null,
            "note": "Wiosłowanie 3x8 @80kg."
          },
          {
            "id": "L4",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Finisher: 20 swingów, to nie jest seria główna — dopisz jako notatkę jeśli musisz."
          }
        ]
      },
      "score_line": 100,
      "fields": 13,
      "ok": 13,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3780,
      "cost_usd": 0.0019405,
      "tokens_prompt": 977,
      "tokens_completion": 484,
      "ts": "2026-09-11T16:40:53.885Z",
      "diffs": [
        {
          "row": "warm-up kettle squats",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up kettle squats",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "warm-up kettle squats",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "rest_seconds",
          "expected": 120,
          "actual": 120,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "weight_kg",
          "expected": 80,
          "actual": 80,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Rozgrzewka 2 rundy: 10 przysiadów z kettlem."
        },
        {
          "id": "L1",
          "text": "Przysiad 5x5 @100kg, przerwa 2 min."
        },
        {
          "id": "L2",
          "text": "Wyciskanie 4 serie po 6, ciężar dobierz tak żeby było ciężko."
        },
        {
          "id": "L3",
          "text": "Wiosłowanie 3x8 @80kg."
        },
        {
          "id": "L4",
          "text": "Finisher: 20 swingów, to nie jest seria główna — dopisz jako notatkę jeśli musisz."
        }
      ],
      "context": "context/M-D-pl-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-pl-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-D-es-conditioning-self",
      "seed": 2,
      "band": "D",
      "locale": "es",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "rows": [
          {
            "match": "/calentamiento|burpee/i",
            "label": "warm-up burpees",
            "sets": 2,
            "reps": 8,
            "weight": 0
          },
          {
            "match": "/pull-?ups|amrap/i",
            "label": "AMRAP pull-ups",
            "reps": 5,
            "weight": null
          },
          {
            "match": "/thruster/i",
            "label": "thrusters",
            "sets": 3,
            "reps": 8,
            "weight": 40
          },
          {
            "match": "/400/i",
            "label": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
            "sets": 1,
            "reps": 1,
            "weight": null
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Calentamiento 2 rondas de 8 burpees."
          },
          {
            "id": "L1",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "AMRAP 10 min: 5 pull-ups y 10 push-ups, sin carga escrita."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 40,
            "rest_seconds": null,
            "rpe": null,
            "note": "3 series de 8 thrusters a 40kg."
          },
          {
            "id": "L3",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Cierro con 400 metros a tope."
          }
        ]
      },
      "score_line": 63.6,
      "fields": 11,
      "ok": 7,
      "invented": 0,
      "missed": 4,
      "weight_zero": 0,
      "latency_ms": 1955,
      "cost_usd": 0.0011495,
      "tokens_prompt": 943,
      "tokens_completion": 226,
      "ts": "2026-09-11T16:40:54.110Z",
      "diffs": [
        {
          "row": "warm-up burpees",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up burpees",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "warm-up burpees",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        },
        {
          "row": "AMRAP pull-ups",
          "field": "reps",
          "expected": 5,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "AMRAP pull-ups",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "thrusters",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "thrusters",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "thrusters",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        },
        {
          "row": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
          "field": "sets",
          "expected": 1,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
          "field": "reps",
          "expected": 1,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Hoy WOD. Calentamiento 2 rondas de 8 burpees."
        },
        {
          "id": "L1",
          "text": "AMRAP 10 min: 5 pull-ups y 10 push-ups, sin carga escrita."
        },
        {
          "id": "L2",
          "text": "Luego 3 series de 8 thrusters a 40kg."
        },
        {
          "id": "L3",
          "text": "Cierro con 400 metros a tope."
        }
      ],
      "context": "context/M-D-es-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-es-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-D-pl-barbell-coach",
      "seed": 3,
      "band": "D",
      "locale": "pl",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "rows": [
          {
            "match": "/rozgrzewka|przysiadów z kettlem/i",
            "label": "warm-up kettle squats",
            "sets": 2,
            "reps": 10,
            "weight": null
          },
          {
            "match": "/przysiad 5x5/i",
            "label": "squat 5x5",
            "sets": 5,
            "reps": 5,
            "weight": 100,
            "rest": 120
          },
          {
            "match": "/wyciskanie/i",
            "label": "bench press",
            "sets": 4,
            "reps": 6,
            "weight": null
          },
          {
            "match": "/wiosłowanie/i",
            "label": "barbell row",
            "sets": 3,
            "reps": 8,
            "weight": 80
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 10,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Rozgrzewka 2 rundy: 10 przysiadów z kettlem."
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 120,
            "rpe": null,
            "note": "Przysiad 5x5 @100kg, przerwa 2 min."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Wyciskanie 4 serie po 6, ciężar dobierz tak żeby było ciężko."
          },
          {
            "id": "L3",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 80,
            "rest_seconds": null,
            "rpe": null,
            "note": "Wiosłowanie 3x8 @80kg."
          },
          {
            "id": "L4",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Finisher: 20 swingów, to nie jest seria główna — dopisz jako notatkę jeśli musisz."
          }
        ]
      },
      "score_line": 100,
      "fields": 13,
      "ok": 13,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3914,
      "cost_usd": 0.0019405,
      "tokens_prompt": 977,
      "tokens_completion": 484,
      "ts": "2026-09-11T16:40:54.551Z",
      "diffs": [
        {
          "row": "warm-up kettle squats",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up kettle squats",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "warm-up kettle squats",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "rest_seconds",
          "expected": 120,
          "actual": 120,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "weight_kg",
          "expected": 80,
          "actual": 80,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Rozgrzewka 2 rundy: 10 przysiadów z kettlem."
        },
        {
          "id": "L1",
          "text": "Przysiad 5x5 @100kg, przerwa 2 min."
        },
        {
          "id": "L2",
          "text": "Wyciskanie 4 serie po 6, ciężar dobierz tak żeby było ciężko."
        },
        {
          "id": "L3",
          "text": "Wiosłowanie 3x8 @80kg."
        },
        {
          "id": "L4",
          "text": "Finisher: 20 swingów, to nie jest seria główna — dopisz jako notatkę jeśli musisz."
        }
      ],
      "context": "context/M-D-pl-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-pl-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-D-es-conditioning-self",
      "seed": 1,
      "band": "D",
      "locale": "es",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "rows": [
          {
            "match": "/calentamiento|burpee/i",
            "label": "warm-up burpees",
            "sets": 2,
            "reps": 8,
            "weight": 0
          },
          {
            "match": "/pull-?ups|amrap/i",
            "label": "AMRAP pull-ups",
            "reps": 5,
            "weight": null
          },
          {
            "match": "/thruster/i",
            "label": "thrusters",
            "sets": 3,
            "reps": 8,
            "weight": 40
          },
          {
            "match": "/400/i",
            "label": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
            "sets": 1,
            "reps": 1,
            "weight": null
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Calentamiento 2 rondas de 8 burpees."
          },
          {
            "id": "L1",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "AMRAP 10 min: 5 pull-ups y 10 push-ups, sin carga escrita."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 40,
            "rest_seconds": null,
            "rpe": null,
            "note": "3 series de 8 thrusters a 40kg."
          },
          {
            "id": "L3",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Cierro con 400 metros a tope."
          }
        ]
      },
      "score_line": 63.6,
      "fields": 11,
      "ok": 7,
      "invented": 0,
      "missed": 4,
      "weight_zero": 0,
      "latency_ms": 3628,
      "cost_usd": 0.0011495,
      "tokens_prompt": 943,
      "tokens_completion": 226,
      "ts": "2026-09-11T16:40:55.151Z",
      "diffs": [
        {
          "row": "warm-up burpees",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up burpees",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "warm-up burpees",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        },
        {
          "row": "AMRAP pull-ups",
          "field": "reps",
          "expected": 5,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "AMRAP pull-ups",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "thrusters",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "thrusters",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "thrusters",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        },
        {
          "row": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
          "field": "sets",
          "expected": 1,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
          "field": "reps",
          "expected": 1,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Hoy WOD. Calentamiento 2 rondas de 8 burpees."
        },
        {
          "id": "L1",
          "text": "AMRAP 10 min: 5 pull-ups y 10 push-ups, sin carga escrita."
        },
        {
          "id": "L2",
          "text": "Luego 3 series de 8 thrusters a 40kg."
        },
        {
          "id": "L3",
          "text": "Cierro con 400 metros a tope."
        }
      ],
      "context": "context/M-D-es-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-es-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-D-en-barbell-self-crossfit",
      "seed": 2,
      "band": "D",
      "locale": "en",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "rows": [
          {
            "match": "/warm-?up|two rounds/i",
            "label": "warm-up two rounds",
            "sets": 2,
            "reps": 5
          },
          {
            "match": "/snatch/i",
            "label": "snatch E2MOM",
            "sets": 7,
            "weight": null,
            "rest": 120
          },
          {
            "match": "/dead-stop deadlift/i",
            "label": "dead-stop deadlift",
            "sets": 5,
            "reps": 5,
            "weight": 188.2
          },
          {
            "match": "/ab wheel/i",
            "label": "ab wheel",
            "sets": 5,
            "weight": 0
          },
          {
            "match": "/romanian|barbell rows/i",
            "label": "RDL / barbell rows",
            "sets": 2,
            "reps": 8,
            "weight": 102.1
          },
          {
            "match": "/bulgarian/i",
            "label": "Bulgarian split squat",
            "sets": 1,
            "reps": 15,
            "weight": 54.4
          },
          {
            "match": "/thirty-nine|39/i",
            "label": "39 burpees",
            "sets": 1,
            "reps": 39,
            "weight": 0
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "250 meter row just to get warm"
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 2,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "two rounds, five burpees and some PVC pass-throughs each round"
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 7,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": 120,
            "rpe": null,
            "note": "snatch complex: seven sets, E2MOM, work up to a heavy weight"
          },
          {
            "id": "L3",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 188.24,
            "rest_seconds": null,
            "rpe": null,
            "note": "five by five dead-stop deadlifts at 415 pounds, paired with one ab wheel rollout"
          },
          {
            "id": "L4",
            "is_prescription": true,
            "sets": 2,
            "reps": 8,
            "weight_kg": 102.06,
            "rest_seconds": null,
            "rpe": null,
            "note": "superset of barbell rows and Romanian deadlifts, two sets of eight at 225 pounds"
          },
          {
            "id": "L5",
            "is_prescription": true,
            "sets": 1,
            "reps": 15,
            "weight_kg": 54.43,
            "rest_seconds": null,
            "rpe": null,
            "note": "one set of fifteen Bulgarian split squats at 120 pounds"
          },
          {
            "id": "L6",
            "is_prescription": true,
            "sets": 1,
            "reps": 39,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "thirty-nine burpees for time, AFAP, as fast as possible"
          }
        ]
      },
      "score_line": 94.7,
      "fields": 19,
      "ok": 18,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 5736,
      "cost_usd": 0.001772,
      "tokens_prompt": 1066,
      "tokens_completion": 413,
      "ts": "2026-09-11T16:40:55.506Z",
      "diffs": [
        {
          "row": "warm-up two rounds",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up two rounds",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "snatch E2MOM",
          "field": "sets",
          "expected": 7,
          "actual": 7,
          "verdict": "match"
        },
        {
          "row": "snatch E2MOM",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "snatch E2MOM",
          "field": "rest_seconds",
          "expected": 120,
          "actual": 120,
          "verdict": "match"
        },
        {
          "row": "dead-stop deadlift",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "dead-stop deadlift",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "dead-stop deadlift",
          "field": "weight_kg",
          "expected": 188.2,
          "actual": 188.24,
          "verdict": "match"
        },
        {
          "row": "ab wheel",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "ab wheel",
          "field": "weight_kg",
          "expected": 0,
          "actual": 188.24,
          "verdict": "miss"
        },
        {
          "row": "RDL / barbell rows",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "RDL / barbell rows",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "RDL / barbell rows",
          "field": "weight_kg",
          "expected": 102.1,
          "actual": 102.06,
          "verdict": "match"
        },
        {
          "row": "Bulgarian split squat",
          "field": "sets",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "Bulgarian split squat",
          "field": "reps",
          "expected": 15,
          "actual": 15,
          "verdict": "match"
        },
        {
          "row": "Bulgarian split squat",
          "field": "weight_kg",
          "expected": 54.4,
          "actual": 54.43,
          "verdict": "match"
        },
        {
          "row": "39 burpees",
          "field": "sets",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "39 burpees",
          "field": "reps",
          "expected": 39,
          "actual": 39,
          "verdict": "match"
        },
        {
          "row": "39 burpees",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Alright so today. Start with a 250 meter row just to get warm."
        },
        {
          "id": "L1",
          "text": "Then a warm-up, two rounds, five burpees and some PVC pass-throughs each round."
        },
        {
          "id": "L2",
          "text": "Then the snatch complex: seven sets, E2MOM, every two minutes, work up to a heavy weight — I have not picked the load yet."
        },
        {
          "id": "L3",
          "text": "Then five by five dead-stop deadlifts at 415 pounds, and after each deadlift set do one ab wheel rollout so pair those, five ab wheels with the five deadlift sets."
        },
        {
          "id": "L4",
          "text": "Then a superset of barbell rows and Romanian deadlifts, two sets of eight at 225 pounds."
        },
        {
          "id": "L5",
          "text": "Then one set of fifteen Bulgarian split squats at 120 pounds."
        },
        {
          "id": "L6",
          "text": "Finish with thirty-nine burpees for time, AFAP, as fast as possible. Just save the plan for today, September tenth."
        }
      ],
      "context": "context/M-D-en-barbell-self-crossfit.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-en-barbell-self-crossfit.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-D-en-barbell-self-crossfit",
      "seed": 3,
      "band": "D",
      "locale": "en",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "rows": [
          {
            "match": "/warm-?up|two rounds/i",
            "label": "warm-up two rounds",
            "sets": 2,
            "reps": 5
          },
          {
            "match": "/snatch/i",
            "label": "snatch E2MOM",
            "sets": 7,
            "weight": null,
            "rest": 120
          },
          {
            "match": "/dead-stop deadlift/i",
            "label": "dead-stop deadlift",
            "sets": 5,
            "reps": 5,
            "weight": 188.2
          },
          {
            "match": "/ab wheel/i",
            "label": "ab wheel",
            "sets": 5,
            "weight": 0
          },
          {
            "match": "/romanian|barbell rows/i",
            "label": "RDL / barbell rows",
            "sets": 2,
            "reps": 8,
            "weight": 102.1
          },
          {
            "match": "/bulgarian/i",
            "label": "Bulgarian split squat",
            "sets": 1,
            "reps": 15,
            "weight": 54.4
          },
          {
            "match": "/thirty-nine|39/i",
            "label": "39 burpees",
            "sets": 1,
            "reps": 39,
            "weight": 0
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "250 meter row just to get warm"
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 2,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "two rounds, five burpees and some PVC pass-throughs each round"
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 7,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": 120,
            "rpe": null,
            "note": "snatch complex: seven sets, E2MOM, work up to a heavy weight"
          },
          {
            "id": "L3",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 188.24,
            "rest_seconds": null,
            "rpe": null,
            "note": "five by five dead-stop deadlifts at 415 pounds, paired with one ab wheel rollout"
          },
          {
            "id": "L4",
            "is_prescription": true,
            "sets": 2,
            "reps": 8,
            "weight_kg": 102.06,
            "rest_seconds": null,
            "rpe": null,
            "note": "superset of barbell rows and Romanian deadlifts, two sets of eight at 225 pounds"
          },
          {
            "id": "L5",
            "is_prescription": true,
            "sets": 1,
            "reps": 15,
            "weight_kg": 54.43,
            "rest_seconds": null,
            "rpe": null,
            "note": "one set of fifteen Bulgarian split squats at 120 pounds"
          },
          {
            "id": "L6",
            "is_prescription": true,
            "sets": 1,
            "reps": 39,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "thirty-nine burpees for time, AFAP, as fast as possible"
          }
        ]
      },
      "score_line": 94.7,
      "fields": 19,
      "ok": 18,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 5872,
      "cost_usd": 0.001772,
      "tokens_prompt": 1066,
      "tokens_completion": 413,
      "ts": "2026-09-11T16:40:55.796Z",
      "diffs": [
        {
          "row": "warm-up two rounds",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up two rounds",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "snatch E2MOM",
          "field": "sets",
          "expected": 7,
          "actual": 7,
          "verdict": "match"
        },
        {
          "row": "snatch E2MOM",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "snatch E2MOM",
          "field": "rest_seconds",
          "expected": 120,
          "actual": 120,
          "verdict": "match"
        },
        {
          "row": "dead-stop deadlift",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "dead-stop deadlift",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "dead-stop deadlift",
          "field": "weight_kg",
          "expected": 188.2,
          "actual": 188.24,
          "verdict": "match"
        },
        {
          "row": "ab wheel",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "ab wheel",
          "field": "weight_kg",
          "expected": 0,
          "actual": 188.24,
          "verdict": "miss"
        },
        {
          "row": "RDL / barbell rows",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "RDL / barbell rows",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "RDL / barbell rows",
          "field": "weight_kg",
          "expected": 102.1,
          "actual": 102.06,
          "verdict": "match"
        },
        {
          "row": "Bulgarian split squat",
          "field": "sets",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "Bulgarian split squat",
          "field": "reps",
          "expected": 15,
          "actual": 15,
          "verdict": "match"
        },
        {
          "row": "Bulgarian split squat",
          "field": "weight_kg",
          "expected": 54.4,
          "actual": 54.43,
          "verdict": "match"
        },
        {
          "row": "39 burpees",
          "field": "sets",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "39 burpees",
          "field": "reps",
          "expected": 39,
          "actual": 39,
          "verdict": "match"
        },
        {
          "row": "39 burpees",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Alright so today. Start with a 250 meter row just to get warm."
        },
        {
          "id": "L1",
          "text": "Then a warm-up, two rounds, five burpees and some PVC pass-throughs each round."
        },
        {
          "id": "L2",
          "text": "Then the snatch complex: seven sets, E2MOM, every two minutes, work up to a heavy weight — I have not picked the load yet."
        },
        {
          "id": "L3",
          "text": "Then five by five dead-stop deadlifts at 415 pounds, and after each deadlift set do one ab wheel rollout so pair those, five ab wheels with the five deadlift sets."
        },
        {
          "id": "L4",
          "text": "Then a superset of barbell rows and Romanian deadlifts, two sets of eight at 225 pounds."
        },
        {
          "id": "L5",
          "text": "Then one set of fifteen Bulgarian split squats at 120 pounds."
        },
        {
          "id": "L6",
          "text": "Finish with thirty-nine burpees for time, AFAP, as fast as possible. Just save the plan for today, September tenth."
        }
      ],
      "context": "context/M-D-en-barbell-self-crossfit.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-en-barbell-self-crossfit.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-D-fr-endurance-coach",
      "seed": 1,
      "band": "D",
      "locale": "fr",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "rows": [
          {
            "match": "/400/i",
            "label": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
            "sets": 5,
            "reps": 1,
            "weight": null,
            "rest": 90
          },
          {
            "match": "/fentes/i",
            "label": "lunges BW",
            "sets": 3,
            "reps": 8,
            "weight": 0
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Échauffement 10 minutes de vélo, zone 2, pas de séries."
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 5,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": 90,
            "rpe": null,
            "note": "5 répétitions de 400 mètres"
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "poids du corps"
          },
          {
            "id": "L3",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Finis par un effort de 2 km facile, charge non indiquée."
          }
        ]
      },
      "score_line": 100,
      "fields": 7,
      "ok": 7,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2536,
      "cost_usd": 0.0011,
      "tokens_prompt": 940,
      "tokens_completion": 210,
      "ts": "2026-09-11T16:40:56.647Z",
      "diffs": [
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        },
        {
          "row": "lunges BW",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "lunges BW",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "lunges BW",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Échauffement 10 minutes de vélo, zone 2, pas de séries."
        },
        {
          "id": "L1",
          "text": "Puis 5 répétitions de 400 mètres, récup 90 secondes."
        },
        {
          "id": "L2",
          "text": "Ensuite 3 séries de 8 fentes, poids du corps."
        },
        {
          "id": "L3",
          "text": "Finis par un effort de 2 km facile, charge non indiquée."
        }
      ],
      "context": "context/M-D-fr-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-fr-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-D-es-conditioning-self",
      "seed": 3,
      "band": "D",
      "locale": "es",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "rows": [
          {
            "match": "/calentamiento|burpee/i",
            "label": "warm-up burpees",
            "sets": 2,
            "reps": 8,
            "weight": 0
          },
          {
            "match": "/pull-?ups|amrap/i",
            "label": "AMRAP pull-ups",
            "reps": 5,
            "weight": null
          },
          {
            "match": "/thruster/i",
            "label": "thrusters",
            "sets": 3,
            "reps": 8,
            "weight": 40
          },
          {
            "match": "/400/i",
            "label": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
            "sets": 1,
            "reps": 1,
            "weight": null
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Calentamiento 2 rondas de 8 burpees."
          },
          {
            "id": "L1",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "AMRAP 10 min: 5 pull-ups y 10 push-ups, sin carga escrita."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 40,
            "rest_seconds": null,
            "rpe": null,
            "note": "3 series de 8 thrusters a 40kg."
          },
          {
            "id": "L3",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Cierro con 400 metros a tope."
          }
        ]
      },
      "score_line": 63.6,
      "fields": 11,
      "ok": 7,
      "invented": 0,
      "missed": 4,
      "weight_zero": 0,
      "latency_ms": 3096,
      "cost_usd": 0.0011495,
      "tokens_prompt": 943,
      "tokens_completion": 226,
      "ts": "2026-09-11T16:40:56.981Z",
      "diffs": [
        {
          "row": "warm-up burpees",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up burpees",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "warm-up burpees",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        },
        {
          "row": "AMRAP pull-ups",
          "field": "reps",
          "expected": 5,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "AMRAP pull-ups",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "thrusters",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "thrusters",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "thrusters",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        },
        {
          "row": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
          "field": "sets",
          "expected": 1,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
          "field": "reps",
          "expected": 1,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Hoy WOD. Calentamiento 2 rondas de 8 burpees."
        },
        {
          "id": "L1",
          "text": "AMRAP 10 min: 5 pull-ups y 10 push-ups, sin carga escrita."
        },
        {
          "id": "L2",
          "text": "Luego 3 series de 8 thrusters a 40kg."
        },
        {
          "id": "L3",
          "text": "Cierro con 400 metros a tope."
        }
      ],
      "context": "context/M-D-es-conditioning-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-es-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-D-fr-endurance-coach",
      "seed": 3,
      "band": "D",
      "locale": "fr",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "rows": [
          {
            "match": "/400/i",
            "label": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
            "sets": 5,
            "reps": 1,
            "weight": null,
            "rest": 90
          },
          {
            "match": "/fentes/i",
            "label": "lunges BW",
            "sets": 3,
            "reps": 8,
            "weight": 0
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Échauffement 10 minutes de vélo, zone 2, pas de séries."
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 5,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": 90,
            "rpe": null,
            "note": "5 répétitions de 400 mètres"
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "poids du corps"
          },
          {
            "id": "L3",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Finis par un effort de 2 km facile, charge non indiquée."
          }
        ]
      },
      "score_line": 100,
      "fields": 7,
      "ok": 7,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1958,
      "cost_usd": 0.0011,
      "tokens_prompt": 940,
      "tokens_completion": 210,
      "ts": "2026-09-11T16:40:57.109Z",
      "diffs": [
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        },
        {
          "row": "lunges BW",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "lunges BW",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "lunges BW",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Échauffement 10 minutes de vélo, zone 2, pas de séries."
        },
        {
          "id": "L1",
          "text": "Puis 5 répétitions de 400 mètres, récup 90 secondes."
        },
        {
          "id": "L2",
          "text": "Ensuite 3 séries de 8 fentes, poids du corps."
        },
        {
          "id": "L3",
          "text": "Finis par un effort de 2 km facile, charge non indiquée."
        }
      ],
      "context": "context/M-D-fr-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-fr-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-D-fr-endurance-coach",
      "seed": 2,
      "band": "D",
      "locale": "fr",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "rows": [
          {
            "match": "/400/i",
            "label": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
            "sets": 5,
            "reps": 1,
            "weight": null,
            "rest": 90
          },
          {
            "match": "/fentes/i",
            "label": "lunges BW",
            "sets": 3,
            "reps": 8,
            "weight": 0
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Échauffement 10 minutes de vélo, zone 2, pas de séries."
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 5,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": 90,
            "rpe": null,
            "note": "5 répétitions de 400 mètres"
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "poids du corps"
          },
          {
            "id": "L3",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Finis par un effort de 2 km facile, charge non indiquée."
          }
        ]
      },
      "score_line": 100,
      "fields": 7,
      "ok": 7,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2695,
      "cost_usd": 0.0011,
      "tokens_prompt": 940,
      "tokens_completion": 210,
      "ts": "2026-09-11T16:40:57.246Z",
      "diffs": [
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        },
        {
          "row": "lunges BW",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "lunges BW",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "lunges BW",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Échauffement 10 minutes de vélo, zone 2, pas de séries."
        },
        {
          "id": "L1",
          "text": "Puis 5 répétitions de 400 mètres, récup 90 secondes."
        },
        {
          "id": "L2",
          "text": "Ensuite 3 séries de 8 fentes, poids du corps."
        },
        {
          "id": "L3",
          "text": "Finis par un effort de 2 km facile, charge non indiquée."
        }
      ],
      "context": "context/M-D-fr-endurance-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-fr-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-D-pl-barbell-coach",
      "seed": 2,
      "band": "D",
      "locale": "pl",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "rows": [
          {
            "match": "/rozgrzewka|przysiadów z kettlem/i",
            "label": "warm-up kettle squats",
            "sets": 2,
            "reps": 10,
            "weight": null
          },
          {
            "match": "/przysiad 5x5/i",
            "label": "squat 5x5",
            "sets": 5,
            "reps": 5,
            "weight": 100,
            "rest": 120
          },
          {
            "match": "/wyciskanie/i",
            "label": "bench press",
            "sets": 4,
            "reps": 6,
            "weight": null
          },
          {
            "match": "/wiosłowanie/i",
            "label": "barbell row",
            "sets": 3,
            "reps": 8,
            "weight": 80
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 10,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Rozgrzewka 2 rundy: 10 przysiadów z kettlem."
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 120,
            "rpe": null,
            "note": "Przysiad 5x5 @100kg, przerwa 2 min."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Wyciskanie 4 serie po 6, ciężar dobierz tak żeby było ciężko."
          },
          {
            "id": "L3",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 80,
            "rest_seconds": null,
            "rpe": null,
            "note": "Wiosłowanie 3x8 @80kg."
          },
          {
            "id": "L4",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Finisher: 20 swingów, to nie jest seria główna — dopisz jako notatkę jeśli musisz."
          }
        ]
      },
      "score_line": 100,
      "fields": 13,
      "ok": 13,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 8083,
      "cost_usd": 0.0019405,
      "tokens_prompt": 977,
      "tokens_completion": 484,
      "ts": "2026-09-11T16:40:58.228Z",
      "diffs": [
        {
          "row": "warm-up kettle squats",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up kettle squats",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "warm-up kettle squats",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "rest_seconds",
          "expected": 120,
          "actual": 120,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "weight_kg",
          "expected": 80,
          "actual": 80,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Rozgrzewka 2 rundy: 10 przysiadów z kettlem."
        },
        {
          "id": "L1",
          "text": "Przysiad 5x5 @100kg, przerwa 2 min."
        },
        {
          "id": "L2",
          "text": "Wyciskanie 4 serie po 6, ciężar dobierz tak żeby było ciężko."
        },
        {
          "id": "L3",
          "text": "Wiosłowanie 3x8 @80kg."
        },
        {
          "id": "L4",
          "text": "Finisher: 20 swingów, to nie jest seria główna — dopisz jako notatkę jeśli musisz."
        }
      ],
      "context": "context/M-D-pl-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-pl-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-D-de-bodyweight-self",
      "seed": 2,
      "band": "D",
      "locale": "de",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "rows": [
          {
            "match": "/aufwärmen|squads/i",
            "label": "warm-up squats",
            "sets": 2,
            "reps": 10,
            "weight": 0
          },
          {
            "match": "/klimm/i",
            "label": "pull-ups",
            "sets": 5,
            "reps": 5,
            "weight": 0
          },
          {
            "match": "/dips/i",
            "label": "dips",
            "sets": 4,
            "reps": 8,
            "weight": 0
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "Aufwärmen zwei Runden à 10 Squads ohne Gewicht."
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "5 Sätze Klimmzüge, 5 Wiederholungen, Körpergewicht."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "Dips 4x8 BW."
          },
          {
            "id": "L3",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 Band Pull-aparts zwischen den Sätzen — das ist kein Arbeitssatz."
          }
        ]
      },
      "score_line": 100,
      "fields": 9,
      "ok": 9,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3004,
      "cost_usd": 0.00157,
      "tokens_prompt": 944,
      "tokens_completion": 366,
      "ts": "2026-09-11T16:40:58.801Z",
      "diffs": [
        {
          "row": "warm-up squats",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up squats",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "warm-up squats",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "pull-ups",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "pull-ups",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "pull-ups",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "dips",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "dips",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "dips",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Heute Calisthenics. Aufwärmen zwei Runden à 10 Squads ohne Gewicht."
        },
        {
          "id": "L1",
          "text": "Dann 5 Sätze Klimmzüge, 5 Wiederholungen, Körpergewicht."
        },
        {
          "id": "L2",
          "text": "Dips 4x8 BW."
        },
        {
          "id": "L3",
          "text": "Zum Schluss 20 Band Pull-aparts zwischen den Sätzen — das ist kein Arbeitssatz."
        }
      ],
      "context": "context/M-D-de-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-de-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-D-de-bodyweight-self",
      "seed": 3,
      "band": "D",
      "locale": "de",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "rows": [
          {
            "match": "/aufwärmen|squads/i",
            "label": "warm-up squats",
            "sets": 2,
            "reps": 10,
            "weight": 0
          },
          {
            "match": "/klimm/i",
            "label": "pull-ups",
            "sets": 5,
            "reps": 5,
            "weight": 0
          },
          {
            "match": "/dips/i",
            "label": "dips",
            "sets": 4,
            "reps": 8,
            "weight": 0
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "Aufwärmen zwei Runden à 10 Squads ohne Gewicht."
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "5 Sätze Klimmzüge, 5 Wiederholungen, Körpergewicht."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "Dips 4x8 BW."
          },
          {
            "id": "L3",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 Band Pull-aparts zwischen den Sätzen — das ist kein Arbeitssatz."
          }
        ]
      },
      "score_line": 100,
      "fields": 9,
      "ok": 9,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2617,
      "cost_usd": 0.00157,
      "tokens_prompt": 944,
      "tokens_completion": 366,
      "ts": "2026-09-11T16:40:59.265Z",
      "diffs": [
        {
          "row": "warm-up squats",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up squats",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "warm-up squats",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "pull-ups",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "pull-ups",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "pull-ups",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "dips",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "dips",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "dips",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Heute Calisthenics. Aufwärmen zwei Runden à 10 Squads ohne Gewicht."
        },
        {
          "id": "L1",
          "text": "Dann 5 Sätze Klimmzüge, 5 Wiederholungen, Körpergewicht."
        },
        {
          "id": "L2",
          "text": "Dips 4x8 BW."
        },
        {
          "id": "L3",
          "text": "Zum Schluss 20 Band Pull-aparts zwischen den Sätzen — das ist kein Arbeitssatz."
        }
      ],
      "context": "context/M-D-de-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-de-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-D-it-barbell-coach",
      "seed": 1,
      "band": "D",
      "locale": "it",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "rows": [
          {
            "match": "/riscaldamento|swing/i",
            "label": "warm-up swings",
            "sets": 2,
            "reps": 8,
            "weight": null
          },
          {
            "match": "/stacco/i",
            "label": "deadlift 5x5",
            "sets": 5,
            "reps": 5,
            "weight": 140,
            "rest": 180
          },
          {
            "match": "/panca/i",
            "label": "bench press",
            "sets": 4,
            "reps": 6,
            "weight": null
          },
          {
            "match": "/rematore/i",
            "label": "barbell row",
            "sets": 3,
            "reps": 8,
            "weight": 80
          },
          {
            "match": "/burpee/i",
            "label": "15 burpees",
            "sets": 1,
            "reps": 15,
            "weight": 0
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Riscaldamento 2 giri di 8 swing."
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 140,
            "rest_seconds": 180,
            "rpe": null,
            "note": "Stacco 5x5 a 140kg, riposo 3 minuti."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Panca 4 serie da 6, carica pesante ma non scritta."
          },
          {
            "id": "L3",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 80,
            "rest_seconds": null,
            "rpe": null,
            "note": "Rematore 3x8 a 80kg."
          },
          {
            "id": "L4",
            "is_prescription": true,
            "sets": 1,
            "reps": 15,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "Chiudi con 15 burpee, peso corporeo."
          }
        ]
      },
      "score_line": 100,
      "fields": 16,
      "ok": 16,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2305,
      "cost_usd": 0.001318,
      "tokens_prompt": 950,
      "tokens_completion": 281,
      "ts": "2026-09-11T16:40:59.287Z",
      "diffs": [
        {
          "row": "warm-up swings",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up swings",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "warm-up swings",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "weight_kg",
          "expected": 140,
          "actual": 140,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "rest_seconds",
          "expected": 180,
          "actual": 180,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "weight_kg",
          "expected": 80,
          "actual": 80,
          "verdict": "match"
        },
        {
          "row": "15 burpees",
          "field": "sets",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "15 burpees",
          "field": "reps",
          "expected": 15,
          "actual": 15,
          "verdict": "match"
        },
        {
          "row": "15 burpees",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Riscaldamento 2 giri di 8 swing."
        },
        {
          "id": "L1",
          "text": "Stacco 5x5 a 140kg, riposo 3 minuti."
        },
        {
          "id": "L2",
          "text": "Panca 4 serie da 6, carica pesante ma non scritta."
        },
        {
          "id": "L3",
          "text": "Rematore 3x8 a 80kg."
        },
        {
          "id": "L4",
          "text": "Chiudi con 15 burpee, peso corporeo."
        }
      ],
      "context": "context/M-D-it-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-it-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-C-zh-endurance-self",
      "seed": 3,
      "band": "C",
      "locale": "zh",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "跑完告诉我膝盖感觉怎么样"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 11639,
      "cost_usd": 0.000481,
      "tokens_prompt": 656,
      "tokens_completion": 51,
      "ts": "2026-09-11T16:41:00.554Z",
      "diffs": [
        {
          "row": "M-C-zh-endurance-self",
          "field": "is_prescription",
          "expected": false,
          "actual": false,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "跑完告诉我膝盖感觉怎么样"
        }
      ],
      "context": "context/M-C-zh-endurance-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-zh-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-D-it-barbell-coach",
      "seed": 3,
      "band": "D",
      "locale": "it",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "rows": [
          {
            "match": "/riscaldamento|swing/i",
            "label": "warm-up swings",
            "sets": 2,
            "reps": 8,
            "weight": null
          },
          {
            "match": "/stacco/i",
            "label": "deadlift 5x5",
            "sets": 5,
            "reps": 5,
            "weight": 140,
            "rest": 180
          },
          {
            "match": "/panca/i",
            "label": "bench press",
            "sets": 4,
            "reps": 6,
            "weight": null
          },
          {
            "match": "/rematore/i",
            "label": "barbell row",
            "sets": 3,
            "reps": 8,
            "weight": 80
          },
          {
            "match": "/burpee/i",
            "label": "15 burpees",
            "sets": 1,
            "reps": 15,
            "weight": 0
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Riscaldamento 2 giri di 8 swing."
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 140,
            "rest_seconds": 180,
            "rpe": null,
            "note": "Stacco 5x5 a 140kg, riposo 3 minuti."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Panca 4 serie da 6, carica pesante ma non scritta."
          },
          {
            "id": "L3",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 80,
            "rest_seconds": null,
            "rpe": null,
            "note": "Rematore 3x8 a 80kg."
          },
          {
            "id": "L4",
            "is_prescription": true,
            "sets": 1,
            "reps": 15,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "Chiudi con 15 burpee, peso corporeo."
          }
        ]
      },
      "score_line": 100,
      "fields": 16,
      "ok": 16,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 10137,
      "cost_usd": 0.001318,
      "tokens_prompt": 950,
      "tokens_completion": 281,
      "ts": "2026-09-11T16:41:07.384Z",
      "diffs": [
        {
          "row": "warm-up swings",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up swings",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "warm-up swings",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "weight_kg",
          "expected": 140,
          "actual": 140,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "rest_seconds",
          "expected": 180,
          "actual": 180,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "weight_kg",
          "expected": 80,
          "actual": 80,
          "verdict": "match"
        },
        {
          "row": "15 burpees",
          "field": "sets",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "15 burpees",
          "field": "reps",
          "expected": 15,
          "actual": 15,
          "verdict": "match"
        },
        {
          "row": "15 burpees",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Riscaldamento 2 giri di 8 swing."
        },
        {
          "id": "L1",
          "text": "Stacco 5x5 a 140kg, riposo 3 minuti."
        },
        {
          "id": "L2",
          "text": "Panca 4 serie da 6, carica pesante ma non scritta."
        },
        {
          "id": "L3",
          "text": "Rematore 3x8 a 80kg."
        },
        {
          "id": "L4",
          "text": "Chiudi con 15 burpee, peso corporeo."
        }
      ],
      "context": "context/M-D-it-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-it-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-D-de-bodyweight-self",
      "seed": 1,
      "band": "D",
      "locale": "de",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "rows": [
          {
            "match": "/aufwärmen|squads/i",
            "label": "warm-up squats",
            "sets": 2,
            "reps": 10,
            "weight": 0
          },
          {
            "match": "/klimm/i",
            "label": "pull-ups",
            "sets": 5,
            "reps": 5,
            "weight": 0
          },
          {
            "match": "/dips/i",
            "label": "dips",
            "sets": 4,
            "reps": 8,
            "weight": 0
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "Aufwärmen zwei Runden à 10 Squads ohne Gewicht"
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "5 Sätze Klimmzüge, 5 Wiederholungen, Körpergewicht"
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "Dips 4x8 BW"
          },
          {
            "id": "L3",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 Band Pull-aparts zwischen den Sätzen — das ist kein Arbeitssatz"
          }
        ]
      },
      "score_line": 100,
      "fields": 9,
      "ok": 9,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 12565,
      "cost_usd": 0.0014625,
      "tokens_prompt": 729,
      "tokens_completion": 366,
      "ts": "2026-09-11T16:41:08.071Z",
      "diffs": [
        {
          "row": "warm-up squats",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up squats",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "warm-up squats",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "pull-ups",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "pull-ups",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "pull-ups",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "dips",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "dips",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "dips",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Heute Calisthenics. Aufwärmen zwei Runden à 10 Squads ohne Gewicht."
        },
        {
          "id": "L1",
          "text": "Dann 5 Sätze Klimmzüge, 5 Wiederholungen, Körpergewicht."
        },
        {
          "id": "L2",
          "text": "Dips 4x8 BW."
        },
        {
          "id": "L3",
          "text": "Zum Schluss 20 Band Pull-aparts zwischen den Sätzen — das ist kein Arbeitssatz."
        }
      ],
      "context": "context/M-D-de-bodyweight-self.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 1,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-de-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "google/gemini-3-flash-preview",
      "corpus_id": "M-D-it-barbell-coach",
      "seed": 2,
      "band": "D",
      "locale": "it",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "rows": [
          {
            "match": "/riscaldamento|swing/i",
            "label": "warm-up swings",
            "sets": 2,
            "reps": 8,
            "weight": null
          },
          {
            "match": "/stacco/i",
            "label": "deadlift 5x5",
            "sets": 5,
            "reps": 5,
            "weight": 140,
            "rest": 180
          },
          {
            "match": "/panca/i",
            "label": "bench press",
            "sets": 4,
            "reps": 6,
            "weight": null
          },
          {
            "match": "/rematore/i",
            "label": "barbell row",
            "sets": 3,
            "reps": 8,
            "weight": 80
          },
          {
            "match": "/burpee/i",
            "label": "15 burpees",
            "sets": 1,
            "reps": 15,
            "weight": 0
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Riscaldamento 2 giri di 8 swing."
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 140,
            "rest_seconds": 180,
            "rpe": null,
            "note": "Stacco 5x5 a 140kg, riposo 3 minuti."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Panca 4 serie da 6, carica pesante ma non scritta."
          },
          {
            "id": "L3",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 80,
            "rest_seconds": null,
            "rpe": null,
            "note": "Rematore 3x8 a 80kg."
          },
          {
            "id": "L4",
            "is_prescription": true,
            "sets": 1,
            "reps": 15,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "Chiudi con 15 burpee, peso corporeo."
          }
        ]
      },
      "score_line": 100,
      "fields": 16,
      "ok": 16,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 12486,
      "cost_usd": 0.0012105,
      "tokens_prompt": 735,
      "tokens_completion": 281,
      "ts": "2026-09-11T16:41:09.595Z",
      "diffs": [
        {
          "row": "warm-up swings",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up swings",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "warm-up swings",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "weight_kg",
          "expected": 140,
          "actual": 140,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "rest_seconds",
          "expected": 180,
          "actual": 180,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "weight_kg",
          "expected": 80,
          "actual": 80,
          "verdict": "match"
        },
        {
          "row": "15 burpees",
          "field": "sets",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "15 burpees",
          "field": "reps",
          "expected": 15,
          "actual": 15,
          "verdict": "match"
        },
        {
          "row": "15 burpees",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Riscaldamento 2 giri di 8 swing."
        },
        {
          "id": "L1",
          "text": "Stacco 5x5 a 140kg, riposo 3 minuti."
        },
        {
          "id": "L2",
          "text": "Panca 4 serie da 6, carica pesante ma non scritta."
        },
        {
          "id": "L3",
          "text": "Rematore 3x8 a 80kg."
        },
        {
          "id": "L4",
          "text": "Chiudi con 15 burpee, peso corporeo."
        }
      ],
      "context": "context/M-D-it-barbell-coach.json",
      "request": {
        "model": "google/gemini-3-flash-preview",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-it-barbell-coach.json + prompt.md)"
          }
        ]
      }
    }
  ]
}
