{
  "model": "google/gemini-2.5-flash",
  "n": 96,
  "score": {
    "n": 96,
    "accuracy": 91.6,
    "invented_count": 2,
    "missed_count": 24,
    "weight_zero_violation_count": 2,
    "latency_p50_ms": 807,
    "latency_p95_ms": 1820,
    "cost_usd": 0.047338,
    "accuracy_by_band": {
      "A": {
        "n": 30,
        "accuracy": 99.1,
        "invented_count": 0,
        "missed_count": 1,
        "weight_zero_violation_count": 0,
        "latency_p50_ms": 750,
        "latency_p95_ms": 1115,
        "cost_usd": 0.01268
      },
      "B": {
        "n": 32,
        "accuracy": 91.6,
        "invented_count": 2,
        "missed_count": 6,
        "weight_zero_violation_count": 2,
        "latency_p50_ms": 807,
        "latency_p95_ms": 1153,
        "cost_usd": 0.014438
      },
      "C": {
        "n": 28,
        "accuracy": 100,
        "invented_count": 0,
        "missed_count": 0,
        "weight_zero_violation_count": 0,
        "latency_p50_ms": 809,
        "latency_p95_ms": 1316,
        "cost_usd": 0.012291
      },
      "D": {
        "n": 6,
        "accuracy": 77.3,
        "invented_count": 0,
        "missed_count": 17,
        "weight_zero_violation_count": 0,
        "latency_p50_ms": 1820,
        "latency_p95_ms": 2914,
        "cost_usd": 0.00793
      }
    }
  },
  "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-2.5-flash",
      "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": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 733,
      "cost_usd": 0.0004255,
      "tokens_prompt": 660,
      "tokens_completion": 91,
      "ts": "2026-09-11T16:37:26.208Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 5,
      "ok": 5,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 699,
      "cost_usd": 0.0004239,
      "tokens_prompt": 663,
      "tokens_completion": 90,
      "ts": "2026-09-11T16:37:26.305Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 718,
      "cost_usd": 0.0004134,
      "tokens_prompt": 653,
      "tokens_completion": 87,
      "ts": "2026-09-11T16:37:26.927Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 728,
      "cost_usd": 0.0004146,
      "tokens_prompt": 657,
      "tokens_completion": 87,
      "ts": "2026-09-11T16:37:27.034Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 719,
      "cost_usd": 0.0004336,
      "tokens_prompt": 662,
      "tokens_completion": 94,
      "ts": "2026-09-11T16:37:27.647Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 750,
      "cost_usd": 0.0004233,
      "tokens_prompt": 661,
      "tokens_completion": 90,
      "ts": "2026-09-11T16:37:27.649Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": "descanso 2 min"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 862,
      "cost_usd": 0.0004405,
      "tokens_prompt": 660,
      "tokens_completion": 97,
      "ts": "2026-09-11T16:37:27.736Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 788,
      "cost_usd": 0.0004348,
      "tokens_prompt": 666,
      "tokens_completion": 94,
      "ts": "2026-09-11T16:37:27.822Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 724,
      "cost_usd": 0.000457,
      "tokens_prompt": 665,
      "tokens_completion": 103,
      "ts": "2026-09-11T16:37:28.372Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": null,
            "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": 788,
      "cost_usd": 0.0004558,
      "tokens_prompt": 661,
      "tokens_completion": 103,
      "ts": "2026-09-11T16:37:28.437Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "corpus_id": "B5",
      "seed": 1,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 0,
            "reps": 5,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "AMRAP 8 min of 5 pull-ups + 10 push-ups"
          }
        ]
      },
      "score_line": 50,
      "fields": 2,
      "ok": 1,
      "invented": 1,
      "missed": 0,
      "weight_zero": 1,
      "latency_ms": 822,
      "cost_usd": 0.000462,
      "tokens_prompt": 665,
      "tokens_completion": 105,
      "ts": "2026-09-11T16:37:28.558Z",
      "diffs": [
        {
          "row": "B5",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "B5",
          "field": "weight_kg",
          "expected": null,
          "actual": 0,
          "verdict": "weight_zero"
        }
      ],
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 819,
      "cost_usd": 0.0004807,
      "tokens_prompt": 669,
      "tokens_completion": 112,
      "ts": "2026-09-11T16:37:28.641Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 714,
      "cost_usd": 0.0004572,
      "tokens_prompt": 674,
      "tokens_completion": 102,
      "ts": "2026-09-11T16:37:29.151Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 790,
      "cost_usd": 0.0004551,
      "tokens_prompt": 667,
      "tokens_completion": 102,
      "ts": "2026-09-11T16:37:29.163Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "corpus_id": "C2",
      "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": "20 band pull-aparts between sets"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 743,
      "cost_usd": 0.0004346,
      "tokens_prompt": 657,
      "tokens_completion": 95,
      "ts": "2026-09-11T16:37:29.384Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 863,
      "cost_usd": 0.0004371,
      "tokens_prompt": 657,
      "tokens_completion": 96,
      "ts": "2026-09-11T16:37:29.422Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 762,
      "cost_usd": 0.0004315,
      "tokens_prompt": 655,
      "tokens_completion": 94,
      "ts": "2026-09-11T16:37:29.925Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 838,
      "cost_usd": 0.0004315,
      "tokens_prompt": 655,
      "tokens_completion": 94,
      "ts": "2026-09-11T16:37:29.989Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 697,
      "cost_usd": 0.0004134,
      "tokens_prompt": 653,
      "tokens_completion": 87,
      "ts": "2026-09-11T16:37:30.119Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 747,
      "cost_usd": 0.0004255,
      "tokens_prompt": 660,
      "tokens_completion": 91,
      "ts": "2026-09-11T16:37:30.131Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 772,
      "cost_usd": 0.0004433,
      "tokens_prompt": 661,
      "tokens_completion": 98,
      "ts": "2026-09-11T16:37:30.762Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 725,
      "cost_usd": 0.0004134,
      "tokens_prompt": 653,
      "tokens_completion": 87,
      "ts": "2026-09-11T16:37:30.844Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 920,
      "cost_usd": 0.0004199,
      "tokens_prompt": 658,
      "tokens_completion": 89,
      "ts": "2026-09-11T16:37:30.845Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 736,
      "cost_usd": 0.0004168,
      "tokens_prompt": 656,
      "tokens_completion": 88,
      "ts": "2026-09-11T16:37:30.867Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": "descanso 90s"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 829,
      "cost_usd": 0.000438,
      "tokens_prompt": 660,
      "tokens_completion": 96,
      "ts": "2026-09-11T16:37:31.446Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 200,
            "weight_kg": null,
            "rest_seconds": 60,
            "rpe": null,
            "note": "descanso 60s"
          }
        ]
      },
      "score_line": 75,
      "fields": 4,
      "ok": 3,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 784,
      "cost_usd": 0.0004377,
      "tokens_prompt": 659,
      "tokens_completion": 96,
      "ts": "2026-09-11T16:37:31.628Z",
      "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": 200,
          "verdict": "miss"
        },
        {
          "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-2.5-flash",
        "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-2.5-flash",
      "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": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 797,
      "cost_usd": 0.0004227,
      "tokens_prompt": 659,
      "tokens_completion": 90,
      "ts": "2026-09-11T16:37:31.643Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1053,
      "cost_usd": 0.0004199,
      "tokens_prompt": 658,
      "tokens_completion": 89,
      "ts": "2026-09-11T16:37:31.815Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 1115,
      "cost_usd": 0.0004265,
      "tokens_prompt": 655,
      "tokens_completion": 92,
      "ts": "2026-09-11T16:37:31.983Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 744,
      "cost_usd": 0.0004199,
      "tokens_prompt": 658,
      "tokens_completion": 89,
      "ts": "2026-09-11T16:37:32.190Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 678,
      "cost_usd": 0.0004255,
      "tokens_prompt": 660,
      "tokens_completion": 91,
      "ts": "2026-09-11T16:37:32.307Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 745,
      "cost_usd": 0.0004168,
      "tokens_prompt": 656,
      "tokens_completion": 88,
      "ts": "2026-09-11T16:37:32.561Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1022,
      "cost_usd": 0.0004134,
      "tokens_prompt": 653,
      "tokens_completion": 87,
      "ts": "2026-09-11T16:37:32.665Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 777,
      "cost_usd": 0.0004211,
      "tokens_prompt": 662,
      "tokens_completion": 89,
      "ts": "2026-09-11T16:37:32.760Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 813,
      "cost_usd": 0.0004227,
      "tokens_prompt": 659,
      "tokens_completion": 90,
      "ts": "2026-09-11T16:37:33.003Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 735,
      "cost_usd": 0.000429,
      "tokens_prompt": 655,
      "tokens_completion": 93,
      "ts": "2026-09-11T16:37:33.400Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 698,
      "cost_usd": 0.0004199,
      "tokens_prompt": 658,
      "tokens_completion": 89,
      "ts": "2026-09-11T16:37:33.458Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 901,
      "cost_usd": 0.0004258,
      "tokens_prompt": 661,
      "tokens_completion": 91,
      "ts": "2026-09-11T16:37:33.462Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 712,
      "cost_usd": 0.0004205,
      "tokens_prompt": 660,
      "tokens_completion": 89,
      "ts": "2026-09-11T16:37:33.715Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 831,
      "cost_usd": 0.0004137,
      "tokens_prompt": 654,
      "tokens_completion": 87,
      "ts": "2026-09-11T16:37:34.231Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 866,
      "cost_usd": 0.000457,
      "tokens_prompt": 665,
      "tokens_completion": 103,
      "ts": "2026-09-11T16:37:34.328Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 901,
      "cost_usd": 0.0004168,
      "tokens_prompt": 656,
      "tokens_completion": 88,
      "ts": "2026-09-11T16:37:34.360Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "last set to failure"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 807,
      "cost_usd": 0.0004258,
      "tokens_prompt": 661,
      "tokens_completion": 91,
      "ts": "2026-09-11T16:37:34.523Z",
      "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": 0,
          "verdict": "match"
        }
      ],
      "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-2.5-flash",
        "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-2.5-flash",
      "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": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2385,
      "cost_usd": 0.0004168,
      "tokens_prompt": 656,
      "tokens_completion": 88,
      "ts": "2026-09-11T16:37:34.692Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": null,
            "rpe": null,
            "note": "at 70 kilograms"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 793,
      "cost_usd": 0.0004336,
      "tokens_prompt": 662,
      "tokens_completion": 94,
      "ts": "2026-09-11T16:37:35.024Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 779,
      "cost_usd": 0.0004732,
      "tokens_prompt": 669,
      "tokens_completion": 109,
      "ts": "2026-09-11T16:37:35.302Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 1082,
      "cost_usd": 0.0004572,
      "tokens_prompt": 674,
      "tokens_completion": 102,
      "ts": "2026-09-11T16:37:35.411Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 811,
      "cost_usd": 0.0004866,
      "tokens_prompt": 672,
      "tokens_completion": 114,
      "ts": "2026-09-11T16:37:35.503Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 1153,
      "cost_usd": 0.0004557,
      "tokens_prompt": 669,
      "tokens_completion": 102,
      "ts": "2026-09-11T16:37:35.514Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": null,
            "rpe": null,
            "note": "EMOM 10 minutos"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 786,
      "cost_usd": 0.0004364,
      "tokens_prompt": 663,
      "tokens_completion": 95,
      "ts": "2026-09-11T16:37:35.810Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 735,
      "cost_usd": 0.000442,
      "tokens_prompt": 665,
      "tokens_completion": 97,
      "ts": "2026-09-11T16:37:36.037Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 2,
            "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": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 772,
      "cost_usd": 0.0004598,
      "tokens_prompt": 666,
      "tokens_completion": 104,
      "ts": "2026-09-11T16:37:36.183Z",
      "diffs": [
        {
          "row": "M-B-fr-barbell-coach",
          "field": "sets",
          "expected": 3,
          "actual": 2,
          "verdict": "miss"
        },
        {
          "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-2.5-flash",
        "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-2.5-flash",
      "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": 758,
      "cost_usd": 0.0004564,
      "tokens_prompt": 663,
      "tokens_completion": 103,
      "ts": "2026-09-11T16:37:36.272Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "dernières répétitions difficiles"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 820,
      "cost_usd": 0.000433,
      "tokens_prompt": 660,
      "tokens_completion": 94,
      "ts": "2026-09-11T16:37:36.323Z",
      "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": 0,
          "verdict": "match"
        }
      ],
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 812,
      "cost_usd": 0.0004732,
      "tokens_prompt": 669,
      "tokens_completion": 109,
      "ts": "2026-09-11T16:37:36.622Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 768,
      "cost_usd": 0.000432,
      "tokens_prompt": 665,
      "tokens_completion": 93,
      "ts": "2026-09-11T16:37:36.805Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 0,
            "weight_kg": null,
            "rest_seconds": 90,
            "rpe": null,
            "note": "5 Wiederholungen à 200 Meter Ruder"
          }
        ]
      },
      "score_line": 75,
      "fields": 4,
      "ok": 3,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 822,
      "cost_usd": 0.0004498,
      "tokens_prompt": 666,
      "tokens_completion": 100,
      "ts": "2026-09-11T16:37:36.880Z",
      "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": 0,
          "verdict": "miss"
        },
        {
          "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-2.5-flash",
        "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-2.5-flash",
      "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": null,
            "rpe": null,
            "note": "EMOM 12 minuti"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 853,
      "cost_usd": 0.0004361,
      "tokens_prompt": 662,
      "tokens_completion": 95,
      "ts": "2026-09-11T16:37:37.125Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 400,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "4 ripetizioni di 400 metri, ritorno di corsa lenta come recupero"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 931,
      "cost_usd": 0.000462,
      "tokens_prompt": 665,
      "tokens_completion": 105,
      "ts": "2026-09-11T16:37:37.248Z",
      "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": 400,
          "verdict": "miss"
        },
        {
          "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-2.5-flash",
        "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-2.5-flash",
      "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": 926,
      "cost_usd": 0.0004542,
      "tokens_prompt": 664,
      "tokens_completion": 102,
      "ts": "2026-09-11T16:37:37.249Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 1103,
      "cost_usd": 0.0004623,
      "tokens_prompt": 666,
      "tokens_completion": 105,
      "ts": "2026-09-11T16:37:37.287Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "последний до отказа"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 744,
      "cost_usd": 0.0004255,
      "tokens_prompt": 660,
      "tokens_completion": 91,
      "ts": "2026-09-11T16:37:37.367Z",
      "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": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 подхода по 8 подтягиваний, последний до отказа"
        }
      ],
      "context": "context/M-B-ru-bodyweight-coach.json",
      "request": {
        "model": "google/gemini-2.5-flash",
        "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-2.5-flash",
      "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": null,
            "rpe": null,
            "note": "EMOM 10 минут"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 747,
      "cost_usd": 0.0004367,
      "tokens_prompt": 664,
      "tokens_completion": 95,
      "ts": "2026-09-11T16:37:37.553Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": "最后一组做到力竭"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 1092,
      "cost_usd": 0.0004264,
      "tokens_prompt": 663,
      "tokens_completion": 91,
      "ts": "2026-09-11T16:37:38.001Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 0,
            "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": 776,
      "cost_usd": 0.0004346,
      "tokens_prompt": 657,
      "tokens_completion": 95,
      "ts": "2026-09-11T16:37:38.026Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 1181,
      "cost_usd": 0.0004903,
      "tokens_prompt": 676,
      "tokens_completion": 115,
      "ts": "2026-09-11T16:37:38.062Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 792,
      "cost_usd": 0.0004371,
      "tokens_prompt": 657,
      "tokens_completion": 96,
      "ts": "2026-09-11T16:37:38.080Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 744,
      "cost_usd": 0.0004315,
      "tokens_prompt": 655,
      "tokens_completion": 94,
      "ts": "2026-09-11T16:37:38.112Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 400,
            "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": 1012,
      "cost_usd": 0.0004361,
      "tokens_prompt": 662,
      "tokens_completion": 95,
      "ts": "2026-09-11T16:37:38.137Z",
      "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": 400,
          "verdict": "miss"
        },
        {
          "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-2.5-flash",
        "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-2.5-flash",
      "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": 940,
      "cost_usd": 0.0004315,
      "tokens_prompt": 655,
      "tokens_completion": 94,
      "ts": "2026-09-11T16:37:38.188Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 762,
      "cost_usd": 0.0004508,
      "tokens_prompt": 661,
      "tokens_completion": 101,
      "ts": "2026-09-11T16:37:38.316Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 759,
      "cost_usd": 0.0004374,
      "tokens_prompt": 658,
      "tokens_completion": 96,
      "ts": "2026-09-11T16:37:38.839Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 819,
      "cost_usd": 0.0004368,
      "tokens_prompt": 656,
      "tokens_completion": 96,
      "ts": "2026-09-11T16:37:38.931Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 761,
      "cost_usd": 0.0004371,
      "tokens_prompt": 657,
      "tokens_completion": 96,
      "ts": "2026-09-11T16:37:38.949Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 1043,
      "cost_usd": 0.000457,
      "tokens_prompt": 665,
      "tokens_completion": 103,
      "ts": "2026-09-11T16:37:39.045Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 1089,
      "cost_usd": 0.0004399,
      "tokens_prompt": 658,
      "tokens_completion": 97,
      "ts": "2026-09-11T16:37:39.115Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 849,
      "cost_usd": 0.0004371,
      "tokens_prompt": 657,
      "tokens_completion": 96,
      "ts": "2026-09-11T16:37:39.165Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 1327,
      "cost_usd": 0.0004399,
      "tokens_prompt": 658,
      "tokens_completion": 97,
      "ts": "2026-09-11T16:37:39.389Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 1316,
      "cost_usd": 0.0004427,
      "tokens_prompt": 659,
      "tokens_completion": 98,
      "ts": "2026-09-11T16:37:39.453Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 789,
      "cost_usd": 0.0004402,
      "tokens_prompt": 659,
      "tokens_completion": 97,
      "ts": "2026-09-11T16:37:39.628Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 801,
      "cost_usd": 0.0004371,
      "tokens_prompt": 657,
      "tokens_completion": 96,
      "ts": "2026-09-11T16:37:39.750Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 772,
      "cost_usd": 0.0004368,
      "tokens_prompt": 656,
      "tokens_completion": 96,
      "ts": "2026-09-11T16:37:39.938Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 1010,
      "cost_usd": 0.0004399,
      "tokens_prompt": 658,
      "tokens_completion": 97,
      "ts": "2026-09-11T16:37:39.941Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 982,
      "cost_usd": 0.0004399,
      "tokens_prompt": 658,
      "tokens_completion": 97,
      "ts": "2026-09-11T16:37:40.098Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 809,
      "cost_usd": 0.0004312,
      "tokens_prompt": 654,
      "tokens_completion": 94,
      "ts": "2026-09-11T16:37:40.263Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 1306,
      "cost_usd": 0.0004486,
      "tokens_prompt": 662,
      "tokens_completion": 100,
      "ts": "2026-09-11T16:37:40.351Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 792,
      "cost_usd": 0.000443,
      "tokens_prompt": 660,
      "tokens_completion": 98,
      "ts": "2026-09-11T16:37:40.420Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 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": 1154,
      "cost_usd": 0.0004402,
      "tokens_prompt": 659,
      "tokens_completion": 97,
      "ts": "2026-09-11T16:37:40.543Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 816,
      "cost_usd": 0.000457,
      "tokens_prompt": 665,
      "tokens_completion": 103,
      "ts": "2026-09-11T16:37:40.566Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 781,
      "cost_usd": 0.000429,
      "tokens_prompt": 655,
      "tokens_completion": 93,
      "ts": "2026-09-11T16:37:40.720Z",
      "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-2.5-flash",
        "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-2.5-flash",
      "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": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "burpees"
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 1,
            "reps": 5,
            "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": "thrusters"
          },
          {
            "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": 81.8,
      "fields": 11,
      "ok": 9,
      "invented": 0,
      "missed": 2,
      "weight_zero": 0,
      "latency_ms": 1702,
      "cost_usd": 0.0010906,
      "tokens_prompt": 727,
      "tokens_completion": 349,
      "ts": "2026-09-11T16:37:41.966Z",
      "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": 0,
          "verdict": "match"
        },
        {
          "row": "AMRAP pull-ups",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "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-2.5-flash",
        "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-2.5-flash",
      "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": 400,
            "weight_kg": null,
            "rest_seconds": 90,
            "rpe": null,
            "note": "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": "fentes, 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": 85.7,
      "fields": 7,
      "ok": 6,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 1698,
      "cost_usd": 0.0011172,
      "tokens_prompt": 724,
      "tokens_completion": 360,
      "ts": "2026-09-11T16:37:42.050Z",
      "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": 400,
          "verdict": "miss"
        },
        {
          "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-2.5-flash",
        "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-2.5-flash",
      "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": false,
            "sets": 0,
            "reps": 0,
            "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": ""
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "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": ""
          },
          {
            "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"
          }
        ]
      },
      "score_line": 84.6,
      "fields": 13,
      "ok": 11,
      "invented": 0,
      "missed": 2,
      "weight_zero": 0,
      "latency_ms": 1963,
      "cost_usd": 0.0013058,
      "tokens_prompt": 761,
      "tokens_completion": 431,
      "ts": "2026-09-11T16:37:42.061Z",
      "diffs": [
        {
          "row": "warm-up kettle squats",
          "field": "sets",
          "expected": 2,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "warm-up kettle squats",
          "field": "reps",
          "expected": 10,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "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-2.5-flash",
        "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-2.5-flash",
      "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": null,
            "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": "Klimmzüge, Körpergewicht."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "Dips BW."
          },
          {
            "id": "L3",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Zum Schluss 20 Band Pull-aparts zwischen den Sätzen — das ist kein Arbeitssatz."
          }
        ]
      },
      "score_line": 88.9,
      "fields": 9,
      "ok": 8,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 1820,
      "cost_usd": 0.0011084,
      "tokens_prompt": 728,
      "tokens_completion": 356,
      "ts": "2026-09-11T16:37:42.240Z",
      "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": null,
          "verdict": "miss"
        },
        {
          "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-2.5-flash",
        "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-2.5-flash",
      "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": false,
            "sets": 0,
            "reps": 0,
            "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": ""
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "carica pesante ma non scritta."
          },
          {
            "id": "L3",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 80,
            "rest_seconds": null,
            "rpe": null,
            "note": ""
          },
          {
            "id": "L4",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Chiudi con 15 burpee, peso corporeo."
          }
        ]
      },
      "score_line": 68.8,
      "fields": 16,
      "ok": 11,
      "invented": 0,
      "missed": 5,
      "weight_zero": 0,
      "latency_ms": 1906,
      "cost_usd": 0.0012627,
      "tokens_prompt": 734,
      "tokens_completion": 417,
      "ts": "2026-09-11T16:37:42.449Z",
      "diffs": [
        {
          "row": "warm-up swings",
          "field": "sets",
          "expected": 2,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "warm-up swings",
          "field": "reps",
          "expected": 8,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "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": 0,
          "verdict": "miss"
        },
        {
          "row": "15 burpees",
          "field": "reps",
          "expected": 15,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "15 burpees",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "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-2.5-flash",
        "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-2.5-flash",
      "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": "Start with a 250 meter row just to get warm."
          },
          {
            "id": "L1",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Then a warm-up, two rounds, five burpees and some PVC pass-throughs each round."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 7,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": 120,
            "rpe": null,
            "note": "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",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 188.2,
            "rest_seconds": null,
            "rpe": null,
            "note": "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",
            "is_prescription": true,
            "sets": 2,
            "reps": 8,
            "weight_kg": 102.1,
            "rest_seconds": null,
            "rpe": null,
            "note": "Then a 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.4,
            "rest_seconds": null,
            "rpe": null,
            "note": "Then one set of fifteen Bulgarian split squats at 120 pounds."
          },
          {
            "id": "L6",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Finish with thirty-nine burpees for time, AFAP, as fast as possible. Just save the plan for today, September tenth."
          }
        ]
      },
      "score_line": 68.4,
      "fields": 19,
      "ok": 13,
      "invented": 0,
      "missed": 6,
      "weight_zero": 0,
      "latency_ms": 2914,
      "cost_usd": 0.002045,
      "tokens_prompt": 850,
      "tokens_completion": 716,
      "ts": "2026-09-11T16:37:42.856Z",
      "diffs": [
        {
          "row": "warm-up two rounds",
          "field": "sets",
          "expected": 2,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "warm-up two rounds",
          "field": "reps",
          "expected": 5,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "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.2,
          "verdict": "match"
        },
        {
          "row": "ab wheel",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "ab wheel",
          "field": "weight_kg",
          "expected": 0,
          "actual": 188.2,
          "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.1,
          "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.4,
          "verdict": "match"
        },
        {
          "row": "39 burpees",
          "field": "sets",
          "expected": 1,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "39 burpees",
          "field": "reps",
          "expected": 39,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "39 burpees",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "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-2.5-flash",
        "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)"
          }
        ]
      }
    }
  ]
}
