{
  "model": "openai/gpt-5.6-luna",
  "n": 288,
  "score": {
    "n": 288,
    "accuracy": 92,
    "invented_count": 0,
    "missed_count": 75,
    "weight_zero_violation_count": 0,
    "latency_p50_ms": 2557,
    "latency_p95_ms": 5486,
    "cost_usd": 0.097834,
    "accuracy_by_band": {
      "A": {
        "n": 90,
        "accuracy": 99.1,
        "invented_count": 0,
        "missed_count": 3,
        "weight_zero_violation_count": 0,
        "latency_p50_ms": 2462,
        "latency_p95_ms": 3739,
        "cost_usd": 0.023746
      },
      "B": {
        "n": 96,
        "accuracy": 90.9,
        "invented_count": 0,
        "missed_count": 26,
        "weight_zero_violation_count": 0,
        "latency_p50_ms": 2723,
        "latency_p95_ms": 6190,
        "cost_usd": 0.03452
      },
      "C": {
        "n": 84,
        "accuracy": 100,
        "invented_count": 0,
        "missed_count": 0,
        "weight_zero_violation_count": 0,
        "latency_p50_ms": 2474,
        "latency_p95_ms": 3903,
        "cost_usd": 0.023623
      },
      "D": {
        "n": 18,
        "accuracy": 79.6,
        "invented_count": 0,
        "missed_count": 46,
        "weight_zero_violation_count": 0,
        "latency_p50_ms": 5182,
        "latency_p95_ms": 20301,
        "cost_usd": 0.015944
      }
    }
  },
  "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": "openai/gpt-5.6-luna",
      "corpus_id": "A1",
      "seed": 2,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 180
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 180,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1536,
      "cost_usd": 0.0002102,
      "tokens_prompt": 727,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:30:44.788Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A1.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "A1",
      "seed": 3,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 180
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 180,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1646,
      "cost_usd": 0.0002102,
      "tokens_prompt": 727,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:30:44.898Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A1.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2662,
      "cost_usd": 0.0002534,
      "tokens_prompt": 727,
      "tokens_completion": 90,
      "ts": "2026-09-11T16:30:45.912Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "A3",
      "seed": 1,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2751,
      "cost_usd": 0.0002478,
      "tokens_prompt": 723,
      "tokens_completion": 86,
      "ts": "2026-09-11T16:30:46.004Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "A2",
      "seed": 3,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 60,
        "rest": 90,
        "rpe": 8
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 60,
            "rest_seconds": 90,
            "rpe": 8,
            "note": "RPE8 rest 90s"
          }
        ]
      },
      "score_line": 100,
      "fields": 5,
      "ok": 5,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2920,
      "cost_usd": 0.0002796,
      "tokens_prompt": 732,
      "tokens_completion": 111,
      "ts": "2026-09-11T16:30:46.173Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A2.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "A3",
      "seed": 2,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3073,
      "cost_usd": 0.0002562,
      "tokens_prompt": 723,
      "tokens_completion": 93,
      "ts": "2026-09-11T16:30:46.327Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A3.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 1462,
      "cost_usd": 0.0002102,
      "tokens_prompt": 727,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:30:46.360Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "A3",
      "seed": 3,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1923,
      "cost_usd": 0.0002094,
      "tokens_prompt": 723,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:30:46.713Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A3.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "A2",
      "seed": 2,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 60,
        "rest": 90,
        "rpe": 8
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 60,
            "rest_seconds": 90,
            "rpe": 8,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 5,
      "ok": 5,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3739,
      "cost_usd": 0.0003216,
      "tokens_prompt": 732,
      "tokens_completion": 146,
      "ts": "2026-09-11T16:30:46.992Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A2.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "A5",
      "seed": 3,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 120
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 120,
            "rpe": null,
            "note": "descanso 2 min"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2287,
      "cost_usd": 0.0002682,
      "tokens_prompt": 729,
      "tokens_completion": 102,
      "ts": "2026-09-11T16:30:48.648Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A5.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "A4",
      "seed": 2,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": 80
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 80,
            "rest_seconds": null,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2797,
      "cost_usd": 0.0002666,
      "tokens_prompt": 727,
      "tokens_completion": 101,
      "ts": "2026-09-11T16:30:48.709Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A4.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "A4",
      "seed": 3,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": 80
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 80,
            "rest_seconds": null,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2716,
      "cost_usd": 0.000281,
      "tokens_prompt": 727,
      "tokens_completion": 113,
      "ts": "2026-09-11T16:30:48.720Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A4.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2673,
      "cost_usd": 0.000297,
      "tokens_prompt": 729,
      "tokens_completion": 126,
      "ts": "2026-09-11T16:30:48.846Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "A5",
      "seed": 2,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 120
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 120,
            "rpe": null,
            "note": "descanso 2 min"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2817,
      "cost_usd": 0.0003342,
      "tokens_prompt": 729,
      "tokens_completion": 157,
      "ts": "2026-09-11T16:30:49.145Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A5.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "A6",
      "seed": 2,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 40,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 40,
            "rest_seconds": 90,
            "rpe": null,
            "note": "休息90秒"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2219,
      "cost_usd": 0.000272,
      "tokens_prompt": 730,
      "tokens_completion": 105,
      "ts": "2026-09-11T16:30:49.211Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A6.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": "休息90秒"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2910,
      "cost_usd": 0.000278,
      "tokens_prompt": 730,
      "tokens_completion": 110,
      "ts": "2026-09-11T16:30:49.624Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "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": 2006,
      "cost_usd": 0.0002652,
      "tokens_prompt": 732,
      "tokens_completion": 99,
      "ts": "2026-09-11T16:30:50.715Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "B1",
      "seed": 3,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "heavy-ish, last set to failure"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2274,
      "cost_usd": 0.000264,
      "tokens_prompt": 732,
      "tokens_completion": 98,
      "ts": "2026-09-11T16:30:51.120Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B1.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 7869,
      "cost_usd": 0.0002868,
      "tokens_prompt": 732,
      "tokens_completion": 117,
      "ts": "2026-09-11T16:30:51.122Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "B1",
      "seed": 2,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "heavy-ish, last set to failure"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2585,
      "cost_usd": 0.0002724,
      "tokens_prompt": 732,
      "tokens_completion": 105,
      "ts": "2026-09-11T16:30:51.305Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B1.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": "ladder 5,4,3,2,1 working up to 140kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2190,
      "cost_usd": 0.0002946,
      "tokens_prompt": 735,
      "tokens_completion": 123,
      "ts": "2026-09-11T16:30:51.335Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "B2",
      "seed": 3,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "ladder 5,4,3,2,1 working up to 140kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1849,
      "cost_usd": 0.0002766,
      "tokens_prompt": 735,
      "tokens_completion": 108,
      "ts": "2026-09-11T16:30:51.473Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B2.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "B2",
      "seed": 2,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "ladder 5,4,3,2,1 working up to 140kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3035,
      "cost_usd": 0.0003126,
      "tokens_prompt": 735,
      "tokens_completion": 138,
      "ts": "2026-09-11T16:30:52.246Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B2.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "B4",
      "seed": 2,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 12,
        "reps": 3,
        "weight": 70
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 12,
            "reps": 3,
            "weight_kg": 70,
            "rest_seconds": null,
            "rpe": null,
            "note": "EMOM 12 min"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1302,
      "cost_usd": 0.0002156,
      "tokens_prompt": 730,
      "tokens_completion": 58,
      "ts": "2026-09-11T16:30:52.637Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B4.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "B4",
      "seed": 3,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 12,
        "reps": 3,
        "weight": 70
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 12,
            "reps": 3,
            "weight_kg": 70,
            "rest_seconds": null,
            "rpe": null,
            "note": "EMOM 12 min"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1243,
      "cost_usd": 0.0002156,
      "tokens_prompt": 730,
      "tokens_completion": 58,
      "ts": "2026-09-11T16:30:52.716Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B4.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "A6",
      "seed": 3,
      "band": "A",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 40,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 40,
            "rest_seconds": 90,
            "rpe": null,
            "note": "休息90秒"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4127,
      "cost_usd": 0.00029,
      "tokens_prompt": 730,
      "tokens_completion": 120,
      "ts": "2026-09-11T16:30:52.775Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/A6.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3126,
      "cost_usd": 0.0002924,
      "tokens_prompt": 730,
      "tokens_completion": 122,
      "ts": "2026-09-11T16:30:54.431Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "B5",
      "seed": 1,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "AMRAP 8 min of 5 pull-ups + 10 push-ups"
          }
        ]
      },
      "score_line": 50,
      "fields": 2,
      "ok": 1,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 2235,
      "cost_usd": 0.0004072,
      "tokens_prompt": 734,
      "tokens_completion": 217,
      "ts": "2026-09-11T16:30:54.482Z",
      "diffs": [
        {
          "row": "B5",
          "field": "reps",
          "expected": 5,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "B5",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "AMRAP 8 min of 5 pull-ups + 10 push-ups"
        }
      ],
      "context": "context/B5.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "B3",
      "seed": 2,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "work up to a heavy triple, then two back-off sets at 85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3605,
      "cost_usd": 0.0004456,
      "tokens_prompt": 734,
      "tokens_completion": 249,
      "ts": "2026-09-11T16:30:54.725Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B3.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2393,
      "cost_usd": 0.0003898,
      "tokens_prompt": 737,
      "tokens_completion": 202,
      "ts": "2026-09-11T16:30:55.168Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "B5",
      "seed": 2,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "AMRAP 8 min of 5 pull-ups + 10 push-ups"
          }
        ]
      },
      "score_line": 50,
      "fields": 2,
      "ok": 1,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 3240,
      "cost_usd": 0.0004528,
      "tokens_prompt": 734,
      "tokens_completion": 255,
      "ts": "2026-09-11T16:30:55.878Z",
      "diffs": [
        {
          "row": "B5",
          "field": "reps",
          "expected": 5,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "B5",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "AMRAP 8 min of 5 pull-ups + 10 push-ups"
        }
      ],
      "context": "context/B5.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B5.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "B5",
      "seed": 3,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "AMRAP 8 min of 5 pull-ups + 10 push-ups"
          }
        ]
      },
      "score_line": 50,
      "fields": 2,
      "ok": 1,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 3168,
      "cost_usd": 0.0004264,
      "tokens_prompt": 734,
      "tokens_completion": 233,
      "ts": "2026-09-11T16:30:55.885Z",
      "diffs": [
        {
          "row": "B5",
          "field": "reps",
          "expected": 5,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "B5",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "AMRAP 8 min of 5 pull-ups + 10 push-ups"
        }
      ],
      "context": "context/B5.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B5.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 5249,
      "cost_usd": 0.0005884,
      "tokens_prompt": 734,
      "tokens_completion": 368,
      "ts": "2026-09-11T16:30:55.964Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "B3",
      "seed": 3,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "work up to a heavy triple, then two back-off sets at 85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4942,
      "cost_usd": 0.0004084,
      "tokens_prompt": 734,
      "tokens_completion": 218,
      "ts": "2026-09-11T16:30:56.064Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B3.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "B6",
      "seed": 2,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 4,
        "reps": 12,
        "weight": 40
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 12,
            "weight_kg": 40,
            "rest_seconds": null,
            "rpe": null,
            "note": "pyramid 12-10-8-6 adding 5kg each set from 40kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2395,
      "cost_usd": 0.000301,
      "tokens_prompt": 737,
      "tokens_completion": 128,
      "ts": "2026-09-11T16:30:56.827Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B6.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "B7",
      "seed": 2,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "na każdą stronę, ciężar taki żeby ostatnie 2 były trudne"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1830,
      "cost_usd": 0.0003076,
      "tokens_prompt": 740,
      "tokens_completion": 133,
      "ts": "2026-09-11T16:30:56.999Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B7.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2417,
      "cost_usd": 0.000322,
      "tokens_prompt": 740,
      "tokens_completion": 145,
      "ts": "2026-09-11T16:30:57.143Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "B6",
      "seed": 3,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 4,
        "reps": 12,
        "weight": 40
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 12,
            "weight_kg": 40,
            "rest_seconds": null,
            "rpe": null,
            "note": "pyramid 12-10-8-6 adding 5kg each set from 40kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2998,
      "cost_usd": 0.000337,
      "tokens_prompt": 737,
      "tokens_completion": 158,
      "ts": "2026-09-11T16:30:57.480Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B6.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "B8",
      "seed": 2,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "tempo 3-1-3, 70% ciężaru maksymalnego"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2234,
      "cost_usd": 0.0002846,
      "tokens_prompt": 745,
      "tokens_completion": 113,
      "ts": "2026-09-11T16:30:58.198Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B8.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2387,
      "cost_usd": 0.0002858,
      "tokens_prompt": 745,
      "tokens_completion": 114,
      "ts": "2026-09-11T16:30:58.273Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "B7",
      "seed": 3,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "na każdą stronę, ciężar taki żeby ostatnie 2 były trudne"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2557,
      "cost_usd": 0.0003148,
      "tokens_prompt": 740,
      "tokens_completion": 139,
      "ts": "2026-09-11T16:30:58.436Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B7.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "B8",
      "seed": 3,
      "band": "B",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "tempo 3-1-3, 70% ciężaru maksymalnego"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2622,
      "cost_usd": 0.0002798,
      "tokens_prompt": 745,
      "tokens_completion": 109,
      "ts": "2026-09-11T16:30:58.686Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/B8.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 1988,
      "cost_usd": 0.0002172,
      "tokens_prompt": 726,
      "tokens_completion": 60,
      "ts": "2026-09-11T16:30:59.468Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "C2",
      "seed": 2,
      "band": "C",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 band pull-aparts between sets"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1413,
      "cost_usd": 0.0002172,
      "tokens_prompt": 726,
      "tokens_completion": 60,
      "ts": "2026-09-11T16:30:59.611Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/C2.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2793,
      "cost_usd": 0.0002826,
      "tokens_prompt": 729,
      "tokens_completion": 114,
      "ts": "2026-09-11T16:30:59.621Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "C1",
      "seed": 2,
      "band": "C",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Sente o glúteo em cada repetição"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2640,
      "cost_usd": 0.0002838,
      "tokens_prompt": 729,
      "tokens_completion": 115,
      "ts": "2026-09-11T16:30:59.640Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/C1.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "C1",
      "seed": 3,
      "band": "C",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Sente o glúteo em cada repetição"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2561,
      "cost_usd": 0.000291,
      "tokens_prompt": 729,
      "tokens_completion": 121,
      "ts": "2026-09-11T16:30:59.704Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/C1.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 1441,
      "cost_usd": 0.0002198,
      "tokens_prompt": 727,
      "tokens_completion": 62,
      "ts": "2026-09-11T16:30:59.877Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "C2",
      "seed": 3,
      "band": "C",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 band pull-aparts between sets"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3125,
      "cost_usd": 0.000276,
      "tokens_prompt": 726,
      "tokens_completion": 109,
      "ts": "2026-09-11T16:31:01.398Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/C2.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2196,
      "cost_usd": 0.000264,
      "tokens_prompt": 726,
      "tokens_completion": 99,
      "ts": "2026-09-11T16:31:01.807Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-en-barbell-coach",
      "seed": 2,
      "band": "A",
      "locale": "en",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 180
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 180,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1938,
      "cost_usd": 0.0002546,
      "tokens_prompt": 727,
      "tokens_completion": 91,
      "ts": "2026-09-11T16:31:01.815Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-en-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2117,
      "cost_usd": 0.0002102,
      "tokens_prompt": 727,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:31:01.821Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "C4",
      "seed": 2,
      "band": "C",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "zapytaj mnie jak pójdzie"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2395,
      "cost_usd": 0.0002796,
      "tokens_prompt": 726,
      "tokens_completion": 112,
      "ts": "2026-09-11T16:31:02.017Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/C4.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "C3",
      "seed": 2,
      "band": "C",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Focus on bracing, film the top set"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3383,
      "cost_usd": 0.0002198,
      "tokens_prompt": 727,
      "tokens_completion": 62,
      "ts": "2026-09-11T16:31:02.070Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/C3.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "C3",
      "seed": 3,
      "band": "C",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Focus on bracing, film the top set"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2960,
      "cost_usd": 0.000287,
      "tokens_prompt": 727,
      "tokens_completion": 118,
      "ts": "2026-09-11T16:31:02.428Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/C3.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "C4",
      "seed": 3,
      "band": "C",
      "locale": "",
      "modality": "",
      "voice": "",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "zapytaj mnie jak pójdzie"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2827,
      "cost_usd": 0.0002964,
      "tokens_prompt": 726,
      "tokens_completion": 126,
      "ts": "2026-09-11T16:31:02.467Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/C4.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-en-bodyweight-self",
      "seed": 3,
      "band": "A",
      "locale": "en",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1380,
      "cost_usd": 0.0002094,
      "tokens_prompt": 723,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:31:03.201Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-en-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 1490,
      "cost_usd": 0.0002102,
      "tokens_prompt": 727,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:31:03.507Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-en-bodyweight-self",
      "seed": 2,
      "band": "A",
      "locale": "en",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2007,
      "cost_usd": 0.0002586,
      "tokens_prompt": 723,
      "tokens_completion": 95,
      "ts": "2026-09-11T16:31:03.822Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-en-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-en-barbell-coach",
      "seed": 3,
      "band": "A",
      "locale": "en",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 180
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 180,
            "rpe": null,
            "note": "r180"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2555,
      "cost_usd": 0.0002942,
      "tokens_prompt": 727,
      "tokens_completion": 124,
      "ts": "2026-09-11T16:31:03.954Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-en-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-en-bodyweight-self",
      "seed": 1,
      "band": "A",
      "locale": "en",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2268,
      "cost_usd": 0.0002598,
      "tokens_prompt": 723,
      "tokens_completion": 96,
      "ts": "2026-09-11T16:31:04.075Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-en-conditioning-coach",
      "seed": 3,
      "band": "A",
      "locale": "en",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 20,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 20,
            "rest_seconds": 60,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1798,
      "cost_usd": 0.0002102,
      "tokens_prompt": 727,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:31:04.226Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-en-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-en-conditioning-coach",
      "seed": 2,
      "band": "A",
      "locale": "en",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 20,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 20,
            "rest_seconds": 60,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2462,
      "cost_usd": 0.0002462,
      "tokens_prompt": 727,
      "tokens_completion": 84,
      "ts": "2026-09-11T16:31:04.533Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-en-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2478,
      "cost_usd": 0.0002722,
      "tokens_prompt": 731,
      "tokens_completion": 105,
      "ts": "2026-09-11T16:31:04.946Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-pl-bodyweight-coach",
      "seed": 3,
      "band": "A",
      "locale": "pl",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 12,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 12,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1256,
      "cost_usd": 0.0002094,
      "tokens_prompt": 723,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:31:05.331Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-pl-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-pl-barbell-self",
      "seed": 3,
      "band": "A",
      "locale": "pl",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 120
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 120,
            "rpe": null,
            "note": "przerwa 2 min"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2475,
      "cost_usd": 0.0002758,
      "tokens_prompt": 731,
      "tokens_completion": 108,
      "ts": "2026-09-11T16:31:05.982Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-pl-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-pl-bodyweight-coach",
      "seed": 1,
      "band": "A",
      "locale": "pl",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 12,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 12,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2183,
      "cost_usd": 0.0002598,
      "tokens_prompt": 723,
      "tokens_completion": 96,
      "ts": "2026-09-11T16:31:06.006Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-pl-bodyweight-coach",
      "seed": 2,
      "band": "A",
      "locale": "pl",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 12,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 12,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2103,
      "cost_usd": 0.0002586,
      "tokens_prompt": 723,
      "tokens_completion": 95,
      "ts": "2026-09-11T16:31:06.058Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-pl-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-pl-barbell-self",
      "seed": 2,
      "band": "A",
      "locale": "pl",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 120
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 120,
            "rpe": null,
            "note": "przerwa 2 min"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2907,
      "cost_usd": 0.0002698,
      "tokens_prompt": 731,
      "tokens_completion": 103,
      "ts": "2026-09-11T16:31:06.108Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-pl-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2762,
      "cost_usd": 0.0002832,
      "tokens_prompt": 726,
      "tokens_completion": 115,
      "ts": "2026-09-11T16:31:06.989Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-pl-endurance-self",
      "seed": 2,
      "band": "A",
      "locale": "pl",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 6,
        "reps": 8,
        "weight": 0,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 6,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": 90,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2631,
      "cost_usd": 0.000276,
      "tokens_prompt": 726,
      "tokens_completion": 109,
      "ts": "2026-09-11T16:31:07.164Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-pl-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-es-conditioning-self",
      "seed": 2,
      "band": "A",
      "locale": "es",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 40,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 40,
            "rest_seconds": 60,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1129,
      "cost_usd": 0.0002102,
      "tokens_prompt": 727,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:31:07.237Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-es-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-es-barbell-coach",
      "seed": 2,
      "band": "A",
      "locale": "es",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": 80,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": 80,
            "rest_seconds": 90,
            "rpe": null,
            "note": "descanso 90s"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1264,
      "cost_usd": 0.0002154,
      "tokens_prompt": 729,
      "tokens_completion": 58,
      "ts": "2026-09-11T16:31:07.247Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-es-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-pl-endurance-self",
      "seed": 3,
      "band": "A",
      "locale": "pl",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 6,
        "reps": 8,
        "weight": 0,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 6,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": 90,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2550,
      "cost_usd": 0.0002796,
      "tokens_prompt": 726,
      "tokens_completion": 112,
      "ts": "2026-09-11T16:31:07.496Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-pl-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2510,
      "cost_usd": 0.0003114,
      "tokens_prompt": 729,
      "tokens_completion": 138,
      "ts": "2026-09-11T16:31:07.842Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-es-barbell-coach",
      "seed": 3,
      "band": "A",
      "locale": "es",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": 80,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": 80,
            "rest_seconds": 90,
            "rpe": null,
            "note": "descanso 90s"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1981,
      "cost_usd": 0.0002598,
      "tokens_prompt": 729,
      "tokens_completion": 95,
      "ts": "2026-09-11T16:31:07.987Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-es-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2919,
      "cost_usd": 0.0002534,
      "tokens_prompt": 727,
      "tokens_completion": 90,
      "ts": "2026-09-11T16:31:08.977Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-es-conditioning-self",
      "seed": 3,
      "band": "A",
      "locale": "es",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 40,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 40,
            "rest_seconds": 60,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2146,
      "cost_usd": 0.0002546,
      "tokens_prompt": 727,
      "tokens_completion": 91,
      "ts": "2026-09-11T16:31:09.135Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-es-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": "repos 2 min"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2176,
      "cost_usd": 0.0002622,
      "tokens_prompt": 729,
      "tokens_completion": 97,
      "ts": "2026-09-11T16:31:09.672Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-fr-barbell-self",
      "seed": 3,
      "band": "A",
      "locale": "fr",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 90,
        "rest": 120
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 90,
            "rest_seconds": 120,
            "rpe": null,
            "note": "repos 2 min"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1696,
      "cost_usd": 0.0002142,
      "tokens_prompt": 729,
      "tokens_completion": 57,
      "ts": "2026-09-11T16:31:09.683Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-fr-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-fr-barbell-self",
      "seed": 2,
      "band": "A",
      "locale": "fr",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 90,
        "rest": 120
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 90,
            "rest_seconds": 120,
            "rpe": null,
            "note": "repos 2 min"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2265,
      "cost_usd": 0.0002742,
      "tokens_prompt": 729,
      "tokens_completion": 107,
      "ts": "2026-09-11T16:31:10.107Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-fr-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": "8x200m descanso 60s"
          }
        ]
      },
      "score_line": 75,
      "fields": 4,
      "ok": 3,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 3457,
      "cost_usd": 0.0002942,
      "tokens_prompt": 727,
      "tokens_completion": 124,
      "ts": "2026-09-11T16:31:10.622Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-fr-bodyweight-coach",
      "seed": 3,
      "band": "A",
      "locale": "fr",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "poids du corps"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1135,
      "cost_usd": 0.0002134,
      "tokens_prompt": 725,
      "tokens_completion": 57,
      "ts": "2026-09-11T16:31:10.808Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-fr-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-fr-conditioning-self",
      "seed": 2,
      "band": "A",
      "locale": "fr",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": 30,
        "rest": 45
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": 30,
            "rest_seconds": 45,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1085,
      "cost_usd": 0.0002102,
      "tokens_prompt": 727,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:31:11.192Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-fr-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2279,
      "cost_usd": 0.0002698,
      "tokens_prompt": 725,
      "tokens_completion": 104,
      "ts": "2026-09-11T16:31:11.257Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-fr-bodyweight-coach",
      "seed": 2,
      "band": "A",
      "locale": "fr",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "poids du corps"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2513,
      "cost_usd": 0.0002638,
      "tokens_prompt": 725,
      "tokens_completion": 99,
      "ts": "2026-09-11T16:31:11.649Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-fr-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-es-endurance-coach",
      "seed": 3,
      "band": "A",
      "locale": "es",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 8,
        "reps": 1,
        "weight": null,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 8,
            "reps": 200,
            "weight_kg": null,
            "rest_seconds": 60,
            "rpe": null,
            "note": "8x200m descanso 60s"
          }
        ]
      },
      "score_line": 75,
      "fields": 4,
      "ok": 3,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 4455,
      "cost_usd": 0.0004682,
      "tokens_prompt": 727,
      "tokens_completion": 269,
      "ts": "2026-09-11T16:31:11.703Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-es-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2462,
      "cost_usd": 0.0002534,
      "tokens_prompt": 727,
      "tokens_completion": 90,
      "ts": "2026-09-11T16:31:12.146Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-de-barbell-coach",
      "seed": 3,
      "band": "A",
      "locale": "de",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 180
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 180,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1292,
      "cost_usd": 0.0002102,
      "tokens_prompt": 727,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:31:12.549Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-de-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-de-bodyweight-self",
      "seed": 1,
      "band": "A",
      "locale": "de",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1155,
      "cost_usd": 0.0002094,
      "tokens_prompt": 723,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:31:12.804Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-de-bodyweight-self",
      "seed": 2,
      "band": "A",
      "locale": "de",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1128,
      "cost_usd": 0.0002094,
      "tokens_prompt": 723,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:31:12.832Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-de-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-fr-conditioning-self",
      "seed": 3,
      "band": "A",
      "locale": "fr",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": 30,
        "rest": 45
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": 30,
            "rest_seconds": 45,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2559,
      "cost_usd": 0.0002942,
      "tokens_prompt": 727,
      "tokens_completion": 124,
      "ts": "2026-09-11T16:31:13.181Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-fr-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-es-endurance-coach",
      "seed": 2,
      "band": "A",
      "locale": "es",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 8,
        "reps": 1,
        "weight": null,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 8,
            "reps": 200,
            "weight_kg": null,
            "rest_seconds": 60,
            "rpe": null,
            "note": "200m"
          }
        ]
      },
      "score_line": 75,
      "fields": 4,
      "ok": 3,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 5968,
      "cost_usd": 0.000521,
      "tokens_prompt": 727,
      "tokens_completion": 313,
      "ts": "2026-09-11T16:31:13.205Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-es-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-de-bodyweight-self",
      "seed": 3,
      "band": "A",
      "locale": "de",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "BW"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1081,
      "cost_usd": 0.0002094,
      "tokens_prompt": 723,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:31:13.228Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-de-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2479,
      "cost_usd": 0.0002642,
      "tokens_prompt": 727,
      "tokens_completion": 99,
      "ts": "2026-09-11T16:31:13.288Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-de-barbell-coach",
      "seed": 2,
      "band": "A",
      "locale": "de",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 180
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 180,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2409,
      "cost_usd": 0.0002534,
      "tokens_prompt": 727,
      "tokens_completion": 90,
      "ts": "2026-09-11T16:31:13.601Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-de-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-de-endurance-coach",
      "seed": 3,
      "band": "A",
      "locale": "de",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 0,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 0,
            "rest_seconds": 60,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1259,
      "cost_usd": 0.00021,
      "tokens_prompt": 726,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:31:14.091Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-de-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 1862,
      "cost_usd": 0.00021,
      "tokens_prompt": 726,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:31:14.411Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-it-barbell-self",
      "seed": 2,
      "band": "A",
      "locale": "it",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 70,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 70,
            "rest_seconds": 90,
            "rpe": null,
            "note": "riposo 90s"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2398,
      "cost_usd": 0.0002732,
      "tokens_prompt": 730,
      "tokens_completion": 106,
      "ts": "2026-09-11T16:31:15.603Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-it-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": "riposo 90s"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2522,
      "cost_usd": 0.0002912,
      "tokens_prompt": 730,
      "tokens_completion": 121,
      "ts": "2026-09-11T16:31:15.703Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-it-conditioning-coach",
      "seed": 2,
      "band": "A",
      "locale": "it",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 25,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 25,
            "rest_seconds": 60,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2332,
      "cost_usd": 0.0002618,
      "tokens_prompt": 727,
      "tokens_completion": 97,
      "ts": "2026-09-11T16:31:15.933Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-it-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-de-endurance-coach",
      "seed": 2,
      "band": "A",
      "locale": "de",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 0,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 0,
            "rest_seconds": 60,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3571,
      "cost_usd": 0.0002784,
      "tokens_prompt": 726,
      "tokens_completion": 111,
      "ts": "2026-09-11T16:31:16.375Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-de-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-it-conditioning-coach",
      "seed": 1,
      "band": "A",
      "locale": "it",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 25,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 25,
            "rest_seconds": 60,
            "rpe": null,
            "note": "3x10 @25kg r60"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3273,
      "cost_usd": 0.0002906,
      "tokens_prompt": 727,
      "tokens_completion": 121,
      "ts": "2026-09-11T16:31:16.561Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-it-barbell-self",
      "seed": 3,
      "band": "A",
      "locale": "it",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 70,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 70,
            "rest_seconds": 90,
            "rpe": null,
            "note": "riposo 90s"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3369,
      "cost_usd": 0.0002792,
      "tokens_prompt": 730,
      "tokens_completion": 111,
      "ts": "2026-09-11T16:31:16.598Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-it-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2300,
      "cost_usd": 0.0002772,
      "tokens_prompt": 726,
      "tokens_completion": 110,
      "ts": "2026-09-11T16:31:16.711Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-ru-barbell-coach",
      "seed": 1,
      "band": "A",
      "locale": "ru",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 120
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 120,
            "rpe": null,
            "note": "отдых 2 мин"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1147,
      "cost_usd": 0.0002154,
      "tokens_prompt": 729,
      "tokens_completion": 58,
      "ts": "2026-09-11T16:31:17.080Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-it-conditioning-coach",
      "seed": 3,
      "band": "A",
      "locale": "it",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 25,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 25,
            "rest_seconds": 60,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3029,
      "cost_usd": 0.000269,
      "tokens_prompt": 727,
      "tokens_completion": 103,
      "ts": "2026-09-11T16:31:17.120Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-it-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-it-endurance-self",
      "seed": 2,
      "band": "A",
      "locale": "it",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 0,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": 90,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2241,
      "cost_usd": 0.0002856,
      "tokens_prompt": 726,
      "tokens_completion": 117,
      "ts": "2026-09-11T16:31:17.845Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-it-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-it-endurance-self",
      "seed": 3,
      "band": "A",
      "locale": "it",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 0,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": 90,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2280,
      "cost_usd": 0.0002904,
      "tokens_prompt": 726,
      "tokens_completion": 121,
      "ts": "2026-09-11T16:31:17.983Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-it-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-ru-conditioning-coach",
      "seed": 2,
      "band": "A",
      "locale": "ru",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": 40,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": 40,
            "rest_seconds": 60,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1108,
      "cost_usd": 0.0002102,
      "tokens_prompt": 727,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:31:18.954Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-ru-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 1884,
      "cost_usd": 0.0003302,
      "tokens_prompt": 727,
      "tokens_completion": 154,
      "ts": "2026-09-11T16:31:19.004Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-ru-conditioning-coach",
      "seed": 3,
      "band": "A",
      "locale": "ru",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": 40,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": 40,
            "rest_seconds": 60,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1047,
      "cost_usd": 0.0002102,
      "tokens_prompt": 727,
      "tokens_completion": 54,
      "ts": "2026-09-11T16:31:19.031Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-ru-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2942,
      "cost_usd": 0.0002722,
      "tokens_prompt": 725,
      "tokens_completion": 106,
      "ts": "2026-09-11T16:31:19.541Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-ru-bodyweight-self",
      "seed": 3,
      "band": "A",
      "locale": "ru",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "своим весом"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2568,
      "cost_usd": 0.0002698,
      "tokens_prompt": 725,
      "tokens_completion": 104,
      "ts": "2026-09-11T16:31:19.648Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-ru-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-ru-barbell-coach",
      "seed": 3,
      "band": "A",
      "locale": "ru",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 120
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 120,
            "rpe": null,
            "note": "отдых 2 мин"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3401,
      "cost_usd": 0.000297,
      "tokens_prompt": 729,
      "tokens_completion": 126,
      "ts": "2026-09-11T16:31:19.963Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-ru-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-ru-bodyweight-self",
      "seed": 2,
      "band": "A",
      "locale": "ru",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "своим весом"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3316,
      "cost_usd": 0.0002734,
      "tokens_prompt": 725,
      "tokens_completion": 107,
      "ts": "2026-09-11T16:31:20.027Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-ru-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-ru-barbell-coach",
      "seed": 2,
      "band": "A",
      "locale": "ru",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 100,
        "rest": 120
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 120,
            "rpe": null,
            "note": "отдых 2 мин"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3739,
      "cost_usd": 0.0002874,
      "tokens_prompt": 729,
      "tokens_completion": 118,
      "ts": "2026-09-11T16:31:20.114Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-ru-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 987,
      "cost_usd": 0.0002108,
      "tokens_prompt": 724,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:31:20.528Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-zh-bodyweight-coach",
      "seed": 3,
      "band": "A",
      "locale": "zh",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "自重"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1177,
      "cost_usd": 0.0002108,
      "tokens_prompt": 724,
      "tokens_completion": 55,
      "ts": "2026-09-11T16:31:21.140Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-zh-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-zh-barbell-self",
      "seed": 3,
      "band": "A",
      "locale": "zh",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 80,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 80,
            "rest_seconds": 90,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2503,
      "cost_usd": 0.0002924,
      "tokens_prompt": 730,
      "tokens_completion": 122,
      "ts": "2026-09-11T16:31:21.535Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-zh-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-zh-barbell-self",
      "seed": 2,
      "band": "A",
      "locale": "zh",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": 80,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 80,
            "rest_seconds": 90,
            "rpe": null,
            "note": "5x5 @80kg 休息90秒"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2861,
      "cost_usd": 0.0003092,
      "tokens_prompt": 730,
      "tokens_completion": 136,
      "ts": "2026-09-11T16:31:21.866Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-zh-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-zh-bodyweight-coach",
      "seed": 2,
      "band": "A",
      "locale": "zh",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "自重"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2596,
      "cost_usd": 0.0002576,
      "tokens_prompt": 724,
      "tokens_completion": 94,
      "ts": "2026-09-11T16:31:22.244Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-zh-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": "5x5 @80kg 休息90秒"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3316,
      "cost_usd": 0.0002948,
      "tokens_prompt": 730,
      "tokens_completion": 124,
      "ts": "2026-09-11T16:31:22.270Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "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": 2710,
      "cost_usd": 0.0002976,
      "tokens_prompt": 726,
      "tokens_completion": 127,
      "ts": "2026-09-11T16:31:22.738Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-zh-endurance-self",
      "seed": 2,
      "band": "A",
      "locale": "zh",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 6,
        "reps": 8,
        "weight": 0,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 6,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": 60,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2750,
      "cost_usd": 0.0002916,
      "tokens_prompt": 726,
      "tokens_completion": 122,
      "ts": "2026-09-11T16:31:22.864Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-zh-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-A-zh-endurance-self",
      "seed": 3,
      "band": "A",
      "locale": "zh",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 6,
        "reps": 8,
        "weight": 0,
        "rest": 60
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 6,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": 60,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2943,
      "cost_usd": 0.0002892,
      "tokens_prompt": 726,
      "tokens_completion": 120,
      "ts": "2026-09-11T16:31:23.471Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-A-zh-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-en-bodyweight-coach",
      "seed": 2,
      "band": "B",
      "locale": "en",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "last set to failure"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 2037,
      "cost_usd": 0.0002626,
      "tokens_prompt": 731,
      "tokens_completion": 97,
      "ts": "2026-09-11T16:31:24.307Z",
      "diffs": [
        {
          "row": "M-B-en-bodyweight-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-en-bodyweight-coach",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-B-en-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 sets of 8 pull-ups, last set to failure"
        }
      ],
      "context": "context/M-B-en-bodyweight-coach.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-en-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-en-bodyweight-coach",
      "seed": 1,
      "band": "B",
      "locale": "en",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "last set to failure"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 2095,
      "cost_usd": 0.0002782,
      "tokens_prompt": 731,
      "tokens_completion": 110,
      "ts": "2026-09-11T16:31:24.339Z",
      "diffs": [
        {
          "row": "M-B-en-bodyweight-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-en-bodyweight-coach",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-B-en-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 sets of 8 pull-ups, last set to failure"
        }
      ],
      "context": "context/M-B-en-bodyweight-coach.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-en-conditioning-self",
      "seed": 2,
      "band": "B",
      "locale": "en",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 12,
        "reps": 3,
        "weight": 70
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 12,
            "reps": 3,
            "weight_kg": 70,
            "rest_seconds": null,
            "rpe": null,
            "note": "EMOM 12 min"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1135,
      "cost_usd": 0.0002158,
      "tokens_prompt": 731,
      "tokens_completion": 58,
      "ts": "2026-09-11T16:31:24.607Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-en-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-en-bodyweight-coach",
      "seed": 3,
      "band": "B",
      "locale": "en",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "last set to failure"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 2014,
      "cost_usd": 0.0002146,
      "tokens_prompt": 731,
      "tokens_completion": 57,
      "ts": "2026-09-11T16:31:24.753Z",
      "diffs": [
        {
          "row": "M-B-en-bodyweight-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-en-bodyweight-coach",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-B-en-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 sets of 8 pull-ups, last set to failure"
        }
      ],
      "context": "context/M-B-en-bodyweight-coach.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-en-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "work up to a heavy triple, then two back-off sets at 85%"
          }
        ]
      },
      "score_line": 33.3,
      "fields": 3,
      "ok": 1,
      "invented": 0,
      "missed": 2,
      "weight_zero": 0,
      "latency_ms": 3919,
      "cost_usd": 0.0004504,
      "tokens_prompt": 734,
      "tokens_completion": 253,
      "ts": "2026-09-11T16:31:25.059Z",
      "diffs": [
        {
          "row": "M-B-en-barbell-self",
          "field": "sets",
          "expected": 3,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "M-B-en-barbell-self",
          "field": "reps",
          "expected": 3,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "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": "EMOM 12 min: 3 cleans at 70 kilograms"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2723,
      "cost_usd": 0.0002842,
      "tokens_prompt": 731,
      "tokens_completion": 115,
      "ts": "2026-09-11T16:31:25.587Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-en-conditioning-self",
      "seed": 3,
      "band": "B",
      "locale": "en",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 12,
        "reps": 3,
        "weight": 70
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 12,
            "reps": 3,
            "weight_kg": 70,
            "rest_seconds": null,
            "rpe": null,
            "note": "EMOM 12 min: 3 cleans at 70 kilograms"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2521,
      "cost_usd": 0.0003154,
      "tokens_prompt": 731,
      "tokens_completion": 141,
      "ts": "2026-09-11T16:31:26.828Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-en-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-en-barbell-self",
      "seed": 2,
      "band": "B",
      "locale": "en",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "work up to a heavy triple, then two back-off sets at 85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 5324,
      "cost_usd": 0.0005272,
      "tokens_prompt": 734,
      "tokens_completion": 317,
      "ts": "2026-09-11T16:31:26.859Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-en-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2079,
      "cost_usd": 0.0002984,
      "tokens_prompt": 742,
      "tokens_completion": 125,
      "ts": "2026-09-11T16:31:27.138Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-pl-barbell-coach",
      "seed": 2,
      "band": "B",
      "locale": "pl",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "tempo 3-1-3, 70% ciężaru maksymalnego"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2537,
      "cost_usd": 0.000287,
      "tokens_prompt": 745,
      "tokens_completion": 115,
      "ts": "2026-09-11T16:31:27.144Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-pl-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-pl-bodyweight-self",
      "seed": 2,
      "band": "B",
      "locale": "pl",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "na każdą stronę, ciężar taki żeby ostatnie 2 były trudne"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2313,
      "cost_usd": 0.0002804,
      "tokens_prompt": 742,
      "tokens_completion": 110,
      "ts": "2026-09-11T16:31:27.900Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-pl-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 3924,
      "cost_usd": 0.0002822,
      "tokens_prompt": 745,
      "tokens_completion": 111,
      "ts": "2026-09-11T16:31:28.264Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-pl-barbell-coach",
      "seed": 3,
      "band": "B",
      "locale": "pl",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 6,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "tempo 3-1-3, 70% ciężaru maksymalnego"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3780,
      "cost_usd": 0.0003314,
      "tokens_prompt": 745,
      "tokens_completion": 152,
      "ts": "2026-09-11T16:31:28.533Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-pl-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-en-barbell-self",
      "seed": 3,
      "band": "B",
      "locale": "en",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "work up to a heavy triple, then two back-off sets at 85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 7105,
      "cost_usd": 0.000574,
      "tokens_prompt": 734,
      "tokens_completion": 356,
      "ts": "2026-09-11T16:31:28.972Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-en-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-pl-bodyweight-self",
      "seed": 3,
      "band": "B",
      "locale": "pl",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "na każdą stronę, ciężar taki żeby ostatnie 2 były trudne"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2484,
      "cost_usd": 0.0003068,
      "tokens_prompt": 742,
      "tokens_completion": 132,
      "ts": "2026-09-11T16:31:29.313Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-pl-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2486,
      "cost_usd": 0.0003202,
      "tokens_prompt": 743,
      "tokens_completion": 143,
      "ts": "2026-09-11T16:31:29.345Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-pl-endurance-coach",
      "seed": 3,
      "band": "B",
      "locale": "pl",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "drabinka 5,4,3,2,1 na rowerze, bez podanego obciążenia"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2827,
      "cost_usd": 0.0003358,
      "tokens_prompt": 743,
      "tokens_completion": 156,
      "ts": "2026-09-11T16:31:29.972Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-pl-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 3229,
      "cost_usd": 0.0003592,
      "tokens_prompt": 740,
      "tokens_completion": 176,
      "ts": "2026-09-11T16:31:31.129Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-es-conditioning-coach",
      "seed": 2,
      "band": "B",
      "locale": "es",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 10,
        "reps": 5,
        "weight": 40
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 10,
            "reps": 5,
            "weight_kg": 40,
            "rest_seconds": null,
            "rpe": null,
            "note": "EMOM 10 minutos: 5 thrusters a 40kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2019,
      "cost_usd": 0.000276,
      "tokens_prompt": 732,
      "tokens_completion": 108,
      "ts": "2026-09-11T16:31:31.332Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-es-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-es-barbell-self",
      "seed": 2,
      "band": "B",
      "locale": "es",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 12,
        "weight": 40
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 12,
            "weight_kg": 40,
            "rest_seconds": null,
            "rpe": null,
            "note": "pirámide 12-10-8-6 sumando 5kg cada serie desde 40kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3088,
      "cost_usd": 0.0003568,
      "tokens_prompt": 740,
      "tokens_completion": 174,
      "ts": "2026-09-11T16:31:31.352Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-es-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-es-barbell-self",
      "seed": 3,
      "band": "B",
      "locale": "es",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 12,
        "weight": 40
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 12,
            "weight_kg": 40,
            "rest_seconds": null,
            "rpe": null,
            "note": "pirámide 12-10-8-6 sumando 5kg cada serie desde 40kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2903,
      "cost_usd": 0.000346,
      "tokens_prompt": 740,
      "tokens_completion": 165,
      "ts": "2026-09-11T16:31:31.436Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-es-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-es-conditioning-coach",
      "seed": 3,
      "band": "B",
      "locale": "es",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 10,
        "reps": 5,
        "weight": 40
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 10,
            "reps": 5,
            "weight_kg": 40,
            "rest_seconds": null,
            "rpe": null,
            "note": "EMOM 10 minutos: 5 thrusters a 40kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2480,
      "cost_usd": 0.0002952,
      "tokens_prompt": 732,
      "tokens_completion": 124,
      "ts": "2026-09-11T16:31:31.825Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-es-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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: 5 thrusters a 40kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3806,
      "cost_usd": 0.0002904,
      "tokens_prompt": 732,
      "tokens_completion": 120,
      "ts": "2026-09-11T16:31:32.778Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-pl-endurance-coach",
      "seed": 2,
      "band": "B",
      "locale": "pl",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "drabinka 5,4,3,2,1 na rowerze, bez podanego obciążenia"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 6765,
      "cost_usd": 0.0003514,
      "tokens_prompt": 743,
      "tokens_completion": 169,
      "ts": "2026-09-11T16:31:33.903Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-pl-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-fr-barbell-coach",
      "seed": 1,
      "band": "B",
      "locale": "fr",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "monte jusqu'à un lourd triple, puis deux séries de retour à 85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2785,
      "cost_usd": 0.000352,
      "tokens_prompt": 734,
      "tokens_completion": 171,
      "ts": "2026-09-11T16:31:34.137Z",
      "diffs": [
        {
          "row": "M-B-fr-barbell-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-barbell-coach",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-barbell-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "monte jusqu'à un lourd triple, puis deux séries de retour à 85%"
        }
      ],
      "context": "context/M-B-fr-barbell-coach.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-es-endurance-self",
      "seed": 3,
      "band": "B",
      "locale": "es",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 1,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "400 metros, trote de vuelta como descanso"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2906,
      "cost_usd": 0.0004276,
      "tokens_prompt": 734,
      "tokens_completion": 234,
      "ts": "2026-09-11T16:31:34.239Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-es-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-fr-bodyweight-self",
      "seed": 1,
      "band": "B",
      "locale": "fr",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "dernières répétitions difficiles"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 2579,
      "cost_usd": 0.0002696,
      "tokens_prompt": 730,
      "tokens_completion": 103,
      "ts": "2026-09-11T16:31:35.357Z",
      "diffs": [
        {
          "row": "M-B-fr-bodyweight-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-bodyweight-self",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-bodyweight-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 séries de 10 dips, dernières répétitions difficiles"
        }
      ],
      "context": "context/M-B-fr-bodyweight-self.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-fr-barbell-coach",
      "seed": 3,
      "band": "B",
      "locale": "fr",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "monte jusqu'à un lourd triple, puis deux séries de retour à 85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3797,
      "cost_usd": 0.000472,
      "tokens_prompt": 734,
      "tokens_completion": 271,
      "ts": "2026-09-11T16:31:35.622Z",
      "diffs": [
        {
          "row": "M-B-fr-barbell-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-barbell-coach",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-barbell-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "monte jusqu'à un lourd triple, puis deux séries de retour à 85%"
        }
      ],
      "context": "context/M-B-fr-barbell-coach.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-fr-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-es-endurance-self",
      "seed": 2,
      "band": "B",
      "locale": "es",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 4,
        "reps": 1,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "400 metros; trote de vuelta como descanso"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4678,
      "cost_usd": 0.0005776,
      "tokens_prompt": 734,
      "tokens_completion": 359,
      "ts": "2026-09-11T16:31:35.807Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-es-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-fr-bodyweight-self",
      "seed": 2,
      "band": "B",
      "locale": "fr",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "dernières répétitions difficiles"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 2012,
      "cost_usd": 0.0002612,
      "tokens_prompt": 730,
      "tokens_completion": 96,
      "ts": "2026-09-11T16:31:35.915Z",
      "diffs": [
        {
          "row": "M-B-fr-bodyweight-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-bodyweight-self",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-bodyweight-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 séries de 10 dips, dernières répétitions difficiles"
        }
      ],
      "context": "context/M-B-fr-bodyweight-self.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-fr-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-fr-barbell-coach",
      "seed": 2,
      "band": "B",
      "locale": "fr",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "monte jusqu'à un lourd triple, puis deux séries de retour à 85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4633,
      "cost_usd": 0.000514,
      "tokens_prompt": 734,
      "tokens_completion": 306,
      "ts": "2026-09-11T16:31:36.070Z",
      "diffs": [
        {
          "row": "M-B-fr-barbell-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-barbell-coach",
          "field": "reps",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-barbell-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "monte jusqu'à un lourd triple, puis deux séries de retour à 85%"
        }
      ],
      "context": "context/M-B-fr-barbell-coach.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-fr-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": "4 repeticiones de 400 metros, trote de vuelta como descanso"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 6974,
      "cost_usd": 0.0006112,
      "tokens_prompt": 734,
      "tokens_completion": 387,
      "ts": "2026-09-11T16:31:36.946Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-fr-bodyweight-self",
      "seed": 3,
      "band": "B",
      "locale": "fr",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 10,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 10,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "dernières répétitions difficiles"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 3525,
      "cost_usd": 0.0002864,
      "tokens_prompt": 730,
      "tokens_completion": 117,
      "ts": "2026-09-11T16:31:37.662Z",
      "diffs": [
        {
          "row": "M-B-fr-bodyweight-self",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-bodyweight-self",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "M-B-fr-bodyweight-self",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 séries de 10 dips, dernières répétitions difficiles"
        }
      ],
      "context": "context/M-B-fr-bodyweight-self.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-fr-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "AMRAP 8 min de 5 tractions et 10 pompes"
          }
        ]
      },
      "score_line": 50,
      "fields": 2,
      "ok": 1,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 3511,
      "cost_usd": 0.000412,
      "tokens_prompt": 734,
      "tokens_completion": 221,
      "ts": "2026-09-11T16:31:37.750Z",
      "diffs": [
        {
          "row": "M-B-fr-conditioning-coach",
          "field": "reps",
          "expected": 5,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "M-B-fr-conditioning-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "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": 2418,
      "cost_usd": 0.000294,
      "tokens_prompt": 738,
      "tokens_completion": 122,
      "ts": "2026-09-11T16:31:38.226Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-de-barbell-self",
      "seed": 3,
      "band": "B",
      "locale": "de",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Leiter 5,4,3,2,1, arbeite dich hoch bis 140kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2546,
      "cost_usd": 0.0002928,
      "tokens_prompt": 738,
      "tokens_completion": 121,
      "ts": "2026-09-11T16:31:38.616Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-de-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2255,
      "cost_usd": 0.000284,
      "tokens_prompt": 736,
      "tokens_completion": 114,
      "ts": "2026-09-11T16:31:39.201Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-de-barbell-self",
      "seed": 2,
      "band": "B",
      "locale": "de",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Leiter 5,4,3,2,1, arbeite dich hoch bis 140kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4305,
      "cost_usd": 0.0003168,
      "tokens_prompt": 738,
      "tokens_completion": 141,
      "ts": "2026-09-11T16:31:40.220Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-de-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-fr-conditioning-coach",
      "seed": 3,
      "band": "B",
      "locale": "fr",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "AMRAP 8 min de 5 tractions et 10 pompes"
          }
        ]
      },
      "score_line": 50,
      "fields": 2,
      "ok": 1,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 4667,
      "cost_usd": 0.000496,
      "tokens_prompt": 734,
      "tokens_completion": 291,
      "ts": "2026-09-11T16:31:40.289Z",
      "diffs": [
        {
          "row": "M-B-fr-conditioning-coach",
          "field": "reps",
          "expected": 5,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "M-B-fr-conditioning-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-fr-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-de-bodyweight-coach",
      "seed": 2,
      "band": "B",
      "locale": "de",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "letzter Satz bis zum Versagen"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 2708,
      "cost_usd": 0.000302,
      "tokens_prompt": 736,
      "tokens_completion": 129,
      "ts": "2026-09-11T16:31:40.370Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-de-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-de-bodyweight-coach",
      "seed": 3,
      "band": "B",
      "locale": "de",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 8,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "letzter Satz bis zum Versagen"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 2886,
      "cost_usd": 0.0002768,
      "tokens_prompt": 736,
      "tokens_completion": 108,
      "ts": "2026-09-11T16:31:40.636Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-de-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-fr-conditioning-coach",
      "seed": 2,
      "band": "B",
      "locale": "fr",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "AMRAP 8 min de 5 tractions et 10 pompes"
          }
        ]
      },
      "score_line": 50,
      "fields": 2,
      "ok": 1,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 6190,
      "cost_usd": 0.0007912,
      "tokens_prompt": 734,
      "tokens_completion": 537,
      "ts": "2026-09-11T16:31:41.547Z",
      "diffs": [
        {
          "row": "M-B-fr-conditioning-coach",
          "field": "reps",
          "expected": 5,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "M-B-fr-conditioning-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-fr-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 1092,
      "cost_usd": 0.0002158,
      "tokens_prompt": 731,
      "tokens_completion": 58,
      "ts": "2026-09-11T16:31:41.729Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-de-endurance-self",
      "seed": 1,
      "band": "B",
      "locale": "de",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 1,
        "weight": null,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": 90,
            "rpe": null,
            "note": "5 Wiederholungen à 200 Meter Ruder, Pause 90 Sekunden"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3614,
      "cost_usd": 0.00043,
      "tokens_prompt": 734,
      "tokens_completion": 236,
      "ts": "2026-09-11T16:31:41.841Z",
      "diffs": [
        {
          "row": "M-B-de-endurance-self",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-de-endurance-self",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "M-B-de-endurance-self",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "M-B-de-endurance-self",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5 Wiederholungen à 200 Meter Ruder, Pause 90 Sekunden"
        }
      ],
      "context": "context/M-B-de-endurance-self.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-de-endurance-self",
      "seed": 2,
      "band": "B",
      "locale": "de",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 1,
        "weight": null,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": 90,
            "rpe": null,
            "note": "5 Wiederholungen à 200 Meter Ruder"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3448,
      "cost_usd": 0.0004552,
      "tokens_prompt": 734,
      "tokens_completion": 257,
      "ts": "2026-09-11T16:31:42.065Z",
      "diffs": [
        {
          "row": "M-B-de-endurance-self",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-de-endurance-self",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "M-B-de-endurance-self",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "M-B-de-endurance-self",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5 Wiederholungen à 200 Meter Ruder, Pause 90 Sekunden"
        }
      ],
      "context": "context/M-B-de-endurance-self.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-de-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-it-conditioning-self",
      "seed": 3,
      "band": "B",
      "locale": "it",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 12,
        "reps": 3,
        "weight": 70
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 12,
            "reps": 3,
            "weight_kg": 70,
            "rest_seconds": null,
            "rpe": null,
            "note": "EMOM 12 minuti: 3 clean a 70kg"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2314,
      "cost_usd": 0.0002902,
      "tokens_prompt": 731,
      "tokens_completion": 120,
      "ts": "2026-09-11T16:31:44.044Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-it-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-de-endurance-self",
      "seed": 3,
      "band": "B",
      "locale": "de",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 5,
        "reps": 1,
        "weight": null,
        "rest": 90
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": 90,
            "rpe": null,
            "note": "5 Wiederholungen à 200 Meter Ruder, Pause 90 Sekunden"
          }
        ]
      },
      "score_line": 100,
      "fields": 4,
      "ok": 4,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4874,
      "cost_usd": 0.0004696,
      "tokens_prompt": 734,
      "tokens_completion": 269,
      "ts": "2026-09-11T16:31:44.076Z",
      "diffs": [
        {
          "row": "M-B-de-endurance-self",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "M-B-de-endurance-self",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "M-B-de-endurance-self",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "M-B-de-endurance-self",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "5 Wiederholungen à 200 Meter Ruder, Pause 90 Sekunden"
        }
      ],
      "context": "context/M-B-de-endurance-self.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-de-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-it-conditioning-self",
      "seed": 2,
      "band": "B",
      "locale": "it",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 12,
        "reps": 3,
        "weight": 70
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 12,
            "reps": 3,
            "weight_kg": 70,
            "rest_seconds": null,
            "rpe": null,
            "note": ""
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2557,
      "cost_usd": 0.0002914,
      "tokens_prompt": 731,
      "tokens_completion": 121,
      "ts": "2026-09-11T16:31:44.104Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-it-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-it-endurance-coach",
      "seed": 2,
      "band": "B",
      "locale": "it",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 1,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "400 metri, ritorno di corsa lenta come recupero"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2593,
      "cost_usd": 0.0003934,
      "tokens_prompt": 737,
      "tokens_completion": 205,
      "ts": "2026-09-11T16:31:44.659Z",
      "diffs": [
        {
          "row": "M-B-it-endurance-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-B-it-endurance-coach",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "M-B-it-endurance-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4 ripetizioni di 400 metri, ritorno di corsa lenta come recupero"
        }
      ],
      "context": "context/M-B-it-endurance-coach.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-it-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-it-barbell-coach",
      "seed": 2,
      "band": "B",
      "locale": "it",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "sali fino a un triplo pesante, poi due serie di scarico all'85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4493,
      "cost_usd": 0.0007524,
      "tokens_prompt": 738,
      "tokens_completion": 504,
      "ts": "2026-09-11T16:31:44.782Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-it-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-it-endurance-coach",
      "seed": 1,
      "band": "B",
      "locale": "it",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 1,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "4 ripetizioni di 400 metri, ritorno di corsa lenta come recupero"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3260,
      "cost_usd": 0.0004306,
      "tokens_prompt": 737,
      "tokens_completion": 236,
      "ts": "2026-09-11T16:31:45.101Z",
      "diffs": [
        {
          "row": "M-B-it-endurance-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-B-it-endurance-coach",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "M-B-it-endurance-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4 ripetizioni di 400 metri, ritorno di corsa lenta come recupero"
        }
      ],
      "context": "context/M-B-it-endurance-coach.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "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": 5486,
      "cost_usd": 0.0005292,
      "tokens_prompt": 738,
      "tokens_completion": 318,
      "ts": "2026-09-11T16:31:45.707Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-it-barbell-coach",
      "seed": 3,
      "band": "B",
      "locale": "it",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "sali fino a un triplo pesante, poi due serie di scarico all'85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 5392,
      "cost_usd": 0.0005712,
      "tokens_prompt": 738,
      "tokens_completion": 353,
      "ts": "2026-09-11T16:31:45.762Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-it-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-ru-bodyweight-coach",
      "seed": 1,
      "band": "B",
      "locale": "ru",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "последний до отказа"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 1185,
      "cost_usd": 0.0002176,
      "tokens_prompt": 734,
      "tokens_completion": 59,
      "ts": "2026-09-11T16:31:45.968Z",
      "diffs": [
        {
          "row": "M-B-ru-bodyweight-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-bodyweight-coach",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 подхода по 8 подтягиваний, последний до отказа"
        }
      ],
      "context": "context/M-B-ru-bodyweight-coach.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-ru-bodyweight-coach",
      "seed": 3,
      "band": "B",
      "locale": "ru",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "последний до отказа"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 1186,
      "cost_usd": 0.0002176,
      "tokens_prompt": 734,
      "tokens_completion": 59,
      "ts": "2026-09-11T16:31:46.894Z",
      "diffs": [
        {
          "row": "M-B-ru-bodyweight-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-bodyweight-coach",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 подхода по 8 подтягиваний, последний до отказа"
        }
      ],
      "context": "context/M-B-ru-bodyweight-coach.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-ru-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-ru-bodyweight-coach",
      "seed": 2,
      "band": "B",
      "locale": "ru",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "последний до отказа"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 2122,
      "cost_usd": 0.000274,
      "tokens_prompt": 734,
      "tokens_completion": 106,
      "ts": "2026-09-11T16:31:47.224Z",
      "diffs": [
        {
          "row": "M-B-ru-bodyweight-coach",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-bodyweight-coach",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "M-B-ru-bodyweight-coach",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "3 подхода по 8 подтягиваний, последний до отказа"
        }
      ],
      "context": "context/M-B-ru-bodyweight-coach.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-ru-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 3577,
      "cost_usd": 0.0004316,
      "tokens_prompt": 736,
      "tokens_completion": 237,
      "ts": "2026-09-11T16:31:47.654Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "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 минут: 5 трастеров по 40кг"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2412,
      "cost_usd": 0.0002956,
      "tokens_prompt": 734,
      "tokens_completion": 124,
      "ts": "2026-09-11T16:31:48.175Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-it-endurance-coach",
      "seed": 3,
      "band": "B",
      "locale": "it",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 1,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "4 ripetizioni di 400 metri, ritorno di corsa lenta come recupero"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4290,
      "cost_usd": 0.0004834,
      "tokens_prompt": 737,
      "tokens_completion": 280,
      "ts": "2026-09-11T16:31:48.335Z",
      "diffs": [
        {
          "row": "M-B-it-endurance-coach",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "M-B-it-endurance-coach",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "M-B-it-endurance-coach",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "4 ripetizioni di 400 metri, ritorno di corsa lenta come recupero"
        }
      ],
      "context": "context/M-B-it-endurance-coach.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-it-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-ru-conditioning-self",
      "seed": 2,
      "band": "B",
      "locale": "ru",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 10,
        "reps": 5,
        "weight": 40
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 10,
            "reps": 5,
            "weight_kg": 40,
            "rest_seconds": null,
            "rpe": null,
            "note": "EMOM 10 минут: 5 трастеров по 40кг"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2382,
      "cost_usd": 0.0003004,
      "tokens_prompt": 734,
      "tokens_completion": 128,
      "ts": "2026-09-11T16:31:48.351Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-ru-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": "逐渐加到 140 公斤，重量先不写死"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2143,
      "cost_usd": 0.0003328,
      "tokens_prompt": 746,
      "tokens_completion": 153,
      "ts": "2026-09-11T16:31:49.367Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-ru-conditioning-self",
      "seed": 3,
      "band": "B",
      "locale": "ru",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 10,
        "reps": 5,
        "weight": 40
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 10,
            "reps": 5,
            "weight_kg": 40,
            "rest_seconds": null,
            "rpe": null,
            "note": "EMOM 10 минут: 5 трастеров по 40кг"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2596,
      "cost_usd": 0.0003496,
      "tokens_prompt": 734,
      "tokens_completion": 169,
      "ts": "2026-09-11T16:31:49.490Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-ru-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-ru-barbell-self",
      "seed": 2,
      "band": "B",
      "locale": "ru",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "работай до тяжёлого тройного, затем два подхода на 85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 5880,
      "cost_usd": 0.0005072,
      "tokens_prompt": 736,
      "tokens_completion": 300,
      "ts": "2026-09-11T16:31:49.984Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-ru-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-zh-barbell-coach",
      "seed": 2,
      "band": "B",
      "locale": "zh",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "逐渐加到 140 公斤，重量先不写死"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2770,
      "cost_usd": 0.0003172,
      "tokens_prompt": 746,
      "tokens_completion": 140,
      "ts": "2026-09-11T16:31:50.425Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-zh-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-zh-barbell-coach",
      "seed": 3,
      "band": "B",
      "locale": "zh",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 5,
        "reps": 5,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "做梯形 5,4,3,2,1，逐渐加到 140 公斤，重量先不写死"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2804,
      "cost_usd": 0.000334,
      "tokens_prompt": 746,
      "tokens_completion": 154,
      "ts": "2026-09-11T16:31:50.979Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-zh-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2682,
      "cost_usd": 0.000277,
      "tokens_prompt": 737,
      "tokens_completion": 108,
      "ts": "2026-09-11T16:31:51.018Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-ru-barbell-self",
      "seed": 3,
      "band": "B",
      "locale": "ru",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 3,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 3,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "работай до тяжёлого тройного, затем два подхода на 85%"
          }
        ]
      },
      "score_line": 100,
      "fields": 3,
      "ok": 3,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 6421,
      "cost_usd": 0.0007436,
      "tokens_prompt": 736,
      "tokens_completion": 497,
      "ts": "2026-09-11T16:31:51.081Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-ru-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-zh-bodyweight-self",
      "seed": 2,
      "band": "B",
      "locale": "zh",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "最后一组做到力竭"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 2740,
      "cost_usd": 0.0002974,
      "tokens_prompt": 737,
      "tokens_completion": 125,
      "ts": "2026-09-11T16:31:51.092Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-zh-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2815,
      "cost_usd": 0.000336,
      "tokens_prompt": 732,
      "tokens_completion": 158,
      "ts": "2026-09-11T16:31:52.306Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-zh-bodyweight-self",
      "seed": 3,
      "band": "B",
      "locale": "zh",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 3,
        "reps": 8,
        "weight": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "最后一组做到力竭"
          }
        ]
      },
      "score_line": 66.7,
      "fields": 3,
      "ok": 2,
      "invented": 0,
      "missed": 1,
      "weight_zero": 0,
      "latency_ms": 2993,
      "cost_usd": 0.0002794,
      "tokens_prompt": 737,
      "tokens_completion": 110,
      "ts": "2026-09-11T16:31:52.360Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-zh-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-zh-endurance-coach",
      "seed": 3,
      "band": "B",
      "locale": "zh",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 1,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 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": 2332,
      "cost_usd": 0.000336,
      "tokens_prompt": 732,
      "tokens_completion": 158,
      "ts": "2026-09-11T16:31:52.758Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-zh-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-B-zh-endurance-coach",
      "seed": 2,
      "band": "B",
      "locale": "zh",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 4,
        "reps": 1,
        "weight": null
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 4,
            "reps": 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": 2912,
      "cost_usd": 0.000324,
      "tokens_prompt": 732,
      "tokens_completion": 148,
      "ts": "2026-09-11T16:31:52.896Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-B-zh-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2394,
      "cost_usd": 0.0002772,
      "tokens_prompt": 726,
      "tokens_completion": 110,
      "ts": "2026-09-11T16:31:53.486Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-en-bodyweight-self",
      "seed": 2,
      "band": "C",
      "locale": "en",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 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": 1558,
      "cost_usd": 0.0002748,
      "tokens_prompt": 726,
      "tokens_completion": 108,
      "ts": "2026-09-11T16:31:53.864Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-en-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-en-conditioning-coach",
      "seed": 2,
      "band": "C",
      "locale": "en",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Ask me how the knee felt after the metcon"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1502,
      "cost_usd": 0.0002212,
      "tokens_prompt": 728,
      "tokens_completion": 63,
      "ts": "2026-09-11T16:31:54.399Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-en-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-en-barbell-coach",
      "seed": 3,
      "band": "C",
      "locale": "en",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Focus on bracing, film the top set"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3783,
      "cost_usd": 0.0002882,
      "tokens_prompt": 727,
      "tokens_completion": 119,
      "ts": "2026-09-11T16:31:54.864Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-en-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2323,
      "cost_usd": 0.000274,
      "tokens_prompt": 728,
      "tokens_completion": 107,
      "ts": "2026-09-11T16:31:55.082Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-en-bodyweight-self",
      "seed": 3,
      "band": "C",
      "locale": "en",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 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": 2823,
      "cost_usd": 0.0002916,
      "tokens_prompt": 726,
      "tokens_completion": 122,
      "ts": "2026-09-11T16:31:55.184Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-en-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-en-barbell-coach",
      "seed": 2,
      "band": "C",
      "locale": "en",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Focus on bracing, film the top set"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4183,
      "cost_usd": 0.0002774,
      "tokens_prompt": 727,
      "tokens_completion": 110,
      "ts": "2026-09-11T16:31:55.201Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-en-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 4424,
      "cost_usd": 0.0002738,
      "tokens_prompt": 727,
      "tokens_completion": 107,
      "ts": "2026-09-11T16:31:55.403Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "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": 2007,
      "cost_usd": 0.0002652,
      "tokens_prompt": 726,
      "tokens_completion": 100,
      "ts": "2026-09-11T16:31:55.872Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-en-conditioning-coach",
      "seed": 3,
      "band": "C",
      "locale": "en",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Ask me how the knee felt after the metcon"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2548,
      "cost_usd": 0.0002812,
      "tokens_prompt": 728,
      "tokens_completion": 113,
      "ts": "2026-09-11T16:31:56.034Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-en-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-pl-barbell-self",
      "seed": 2,
      "band": "C",
      "locale": "pl",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "zapytaj mnie jak pójdzie"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2313,
      "cost_usd": 0.0002736,
      "tokens_prompt": 726,
      "tokens_completion": 107,
      "ts": "2026-09-11T16:31:56.713Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-pl-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-pl-barbell-self",
      "seed": 3,
      "band": "C",
      "locale": "pl",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "zapytaj mnie jak pójdzie"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2345,
      "cost_usd": 0.000288,
      "tokens_prompt": 726,
      "tokens_completion": 119,
      "ts": "2026-09-11T16:31:57.209Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-pl-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-pl-bodyweight-coach",
      "seed": 3,
      "band": "C",
      "locale": "pl",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "skup się na spięciu brzucha, nie dopisuj serii"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2345,
      "cost_usd": 0.0002918,
      "tokens_prompt": 733,
      "tokens_completion": 121,
      "ts": "2026-09-11T16:31:57.546Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-pl-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-pl-bodyweight-coach",
      "seed": 2,
      "band": "C",
      "locale": "pl",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "skup się na spięciu brzucha, nie dopisuj serii"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2539,
      "cost_usd": 0.0002918,
      "tokens_prompt": 733,
      "tokens_completion": 121,
      "ts": "2026-09-11T16:31:57.723Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-pl-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-pl-endurance-self",
      "seed": 2,
      "band": "C",
      "locale": "pl",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 rozciągnięć gumą między seriami, to nie jest robota"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1901,
      "cost_usd": 0.0002852,
      "tokens_prompt": 736,
      "tokens_completion": 115,
      "ts": "2026-09-11T16:31:57.773Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-pl-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2960,
      "cost_usd": 0.0003044,
      "tokens_prompt": 736,
      "tokens_completion": 131,
      "ts": "2026-09-11T16:31:58.363Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "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": 3431,
      "cost_usd": 0.0002834,
      "tokens_prompt": 733,
      "tokens_completion": 114,
      "ts": "2026-09-11T16:31:58.514Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-pl-endurance-self",
      "seed": 3,
      "band": "C",
      "locale": "pl",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 rozciągnięć gumą między seriami, to nie jest robota"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2564,
      "cost_usd": 0.0002924,
      "tokens_prompt": 736,
      "tokens_completion": 121,
      "ts": "2026-09-11T16:31:58.598Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-pl-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2202,
      "cost_usd": 0.000285,
      "tokens_prompt": 729,
      "tokens_completion": 116,
      "ts": "2026-09-11T16:31:58.916Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-es-barbell-coach",
      "seed": 2,
      "band": "C",
      "locale": "es",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Siente el glúteo en cada repetición"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2624,
      "cost_usd": 0.0002802,
      "tokens_prompt": 729,
      "tokens_completion": 112,
      "ts": "2026-09-11T16:31:59.834Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-es-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-es-endurance-coach",
      "seed": 2,
      "band": "C",
      "locale": "es",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 pull-aparts de banda entre series"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1319,
      "cost_usd": 0.0002186,
      "tokens_prompt": 727,
      "tokens_completion": 61,
      "ts": "2026-09-11T16:31:59.917Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-es-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2431,
      "cost_usd": 0.0002884,
      "tokens_prompt": 728,
      "tokens_completion": 119,
      "ts": "2026-09-11T16:32:00.154Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-es-barbell-coach",
      "seed": 3,
      "band": "C",
      "locale": "es",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Siente el glúteo en cada repetición"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2798,
      "cost_usd": 0.0002802,
      "tokens_prompt": 729,
      "tokens_completion": 112,
      "ts": "2026-09-11T16:32:00.344Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-es-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-es-endurance-coach",
      "seed": 3,
      "band": "C",
      "locale": "es",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 pull-aparts de banda entre series"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1437,
      "cost_usd": 0.0002186,
      "tokens_prompt": 727,
      "tokens_completion": 61,
      "ts": "2026-09-11T16:32:00.354Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-es-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-es-conditioning-self",
      "seed": 2,
      "band": "C",
      "locale": "es",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "graba la serie pesada y me la mandas"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2972,
      "cost_usd": 0.0002788,
      "tokens_prompt": 728,
      "tokens_completion": 111,
      "ts": "2026-09-11T16:32:00.745Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-es-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-es-conditioning-self",
      "seed": 3,
      "band": "C",
      "locale": "es",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "graba la serie pesada y me la mandas"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2747,
      "cost_usd": 0.0003064,
      "tokens_prompt": 728,
      "tokens_completion": 134,
      "ts": "2026-09-11T16:32:01.110Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-es-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2936,
      "cost_usd": 0.0002738,
      "tokens_prompt": 727,
      "tokens_completion": 107,
      "ts": "2026-09-11T16:32:01.450Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "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": 2347,
      "cost_usd": 0.0003014,
      "tokens_prompt": 727,
      "tokens_completion": 130,
      "ts": "2026-09-11T16:32:02.182Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-fr-barbell-self",
      "seed": 2,
      "band": "C",
      "locale": "fr",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "filme la série lourde, on regarde après"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2684,
      "cost_usd": 0.0002906,
      "tokens_prompt": 727,
      "tokens_completion": 121,
      "ts": "2026-09-11T16:32:02.602Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-fr-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-fr-barbell-self",
      "seed": 3,
      "band": "C",
      "locale": "fr",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "filme la série lourde, on regarde après"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2474,
      "cost_usd": 0.0003218,
      "tokens_prompt": 727,
      "tokens_completion": 147,
      "ts": "2026-09-11T16:32:02.629Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-fr-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2315,
      "cost_usd": 0.0002938,
      "tokens_prompt": 731,
      "tokens_completion": 123,
      "ts": "2026-09-11T16:32:02.659Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-fr-bodyweight-coach",
      "seed": 2,
      "band": "C",
      "locale": "fr",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "garde les épaules basses, ce n'est pas une série"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3254,
      "cost_usd": 0.000301,
      "tokens_prompt": 731,
      "tokens_completion": 129,
      "ts": "2026-09-11T16:32:03.608Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-fr-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-fr-conditioning-self",
      "seed": 3,
      "band": "C",
      "locale": "fr",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "dis-moi comment le genou a réagi"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 1452,
      "cost_usd": 0.0002198,
      "tokens_prompt": 727,
      "tokens_completion": 62,
      "ts": "2026-09-11T16:32:03.634Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-fr-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-fr-conditioning-self",
      "seed": 2,
      "band": "C",
      "locale": "fr",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "dis-moi comment le genou a réagi"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2325,
      "cost_usd": 0.0002198,
      "tokens_prompt": 727,
      "tokens_completion": 62,
      "ts": "2026-09-11T16:32:03.776Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-fr-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-fr-bodyweight-coach",
      "seed": 3,
      "band": "C",
      "locale": "fr",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "garde les épaules basses, ce n'est pas une série"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3243,
      "cost_usd": 0.000307,
      "tokens_prompt": 731,
      "tokens_completion": 134,
      "ts": "2026-09-11T16:32:03.988Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-fr-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 3444,
      "cost_usd": 0.0002642,
      "tokens_prompt": 727,
      "tokens_completion": 99,
      "ts": "2026-09-11T16:32:04.555Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "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": 2317,
      "cost_usd": 0.0002798,
      "tokens_prompt": 727,
      "tokens_completion": 112,
      "ts": "2026-09-11T16:32:04.920Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-de-barbell-coach",
      "seed": 3,
      "band": "C",
      "locale": "de",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "auf die Spannung achten, den schweren Satz filmen"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3019,
      "cost_usd": 0.000275,
      "tokens_prompt": 727,
      "tokens_completion": 108,
      "ts": "2026-09-11T16:32:05.678Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-de-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-de-bodyweight-self",
      "seed": 2,
      "band": "C",
      "locale": "de",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 Band Pull-aparts zwischen den Sätzen"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2059,
      "cost_usd": 0.00028,
      "tokens_prompt": 728,
      "tokens_completion": 112,
      "ts": "2026-09-11T16:32:05.693Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-de-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-de-bodyweight-self",
      "seed": 3,
      "band": "C",
      "locale": "de",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 Band Pull-aparts zwischen den Sätzen"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2283,
      "cost_usd": 0.0002812,
      "tokens_prompt": 728,
      "tokens_completion": 113,
      "ts": "2026-09-11T16:32:06.060Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-de-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2509,
      "cost_usd": 0.0002896,
      "tokens_prompt": 728,
      "tokens_completion": 120,
      "ts": "2026-09-11T16:32:06.117Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-de-barbell-coach",
      "seed": 2,
      "band": "C",
      "locale": "de",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "auf die Spannung achten, den schweren Satz filmen"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 3909,
      "cost_usd": 0.0002846,
      "tokens_prompt": 727,
      "tokens_completion": 116,
      "ts": "2026-09-11T16:32:06.538Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-de-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-de-endurance-coach",
      "seed": 2,
      "band": "C",
      "locale": "de",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "frag mich nachher wie sich das Knie anfühlt"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2505,
      "cost_usd": 0.0002862,
      "tokens_prompt": 729,
      "tokens_completion": 117,
      "ts": "2026-09-11T16:32:07.060Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-de-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-de-endurance-coach",
      "seed": 3,
      "band": "C",
      "locale": "de",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "frag mich nachher wie sich das Knie anfühlt"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2458,
      "cost_usd": 0.0002778,
      "tokens_prompt": 729,
      "tokens_completion": 110,
      "ts": "2026-09-11T16:32:07.379Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-de-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 3531,
      "cost_usd": 0.0002718,
      "tokens_prompt": 729,
      "tokens_completion": 105,
      "ts": "2026-09-11T16:32:07.519Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-it-barbell-self",
      "seed": 2,
      "band": "C",
      "locale": "it",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "filma la serie pesante, poi ne parliamo"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2144,
      "cost_usd": 0.0002888,
      "tokens_prompt": 730,
      "tokens_completion": 119,
      "ts": "2026-09-11T16:32:07.838Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-it-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2691,
      "cost_usd": 0.0002768,
      "tokens_prompt": 730,
      "tokens_completion": 109,
      "ts": "2026-09-11T16:32:08.369Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "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": 2324,
      "cost_usd": 0.0003036,
      "tokens_prompt": 732,
      "tokens_completion": 131,
      "ts": "2026-09-11T16:32:08.441Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-it-barbell-self",
      "seed": 3,
      "band": "C",
      "locale": "it",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "filma la serie pesante, poi ne parliamo"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2468,
      "cost_usd": 0.0003032,
      "tokens_prompt": 730,
      "tokens_completion": 131,
      "ts": "2026-09-11T16:32:08.528Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-it-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-it-conditioning-coach",
      "seed": 3,
      "band": "C",
      "locale": "it",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 band pull-apart tra le serie, non è il lavoro"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2119,
      "cost_usd": 0.0002832,
      "tokens_prompt": 732,
      "tokens_completion": 114,
      "ts": "2026-09-11T16:32:09.180Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-it-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-it-endurance-self",
      "seed": 3,
      "band": "C",
      "locale": "it",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "dimmi com'è andato il ginocchio dopo"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2084,
      "cost_usd": 0.0002862,
      "tokens_prompt": 729,
      "tokens_completion": 117,
      "ts": "2026-09-11T16:32:09.923Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-it-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-it-endurance-self",
      "seed": 2,
      "band": "C",
      "locale": "it",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "dimmi com'è andato il ginocchio dopo"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2636,
      "cost_usd": 0.0002778,
      "tokens_prompt": 729,
      "tokens_completion": 110,
      "ts": "2026-09-11T16:32:10.155Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-it-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2827,
      "cost_usd": 0.000291,
      "tokens_prompt": 729,
      "tokens_completion": 121,
      "ts": "2026-09-11T16:32:10.207Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "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": 2046,
      "cost_usd": 0.0002826,
      "tokens_prompt": 729,
      "tokens_completion": 114,
      "ts": "2026-09-11T16:32:10.416Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-it-conditioning-coach",
      "seed": 2,
      "band": "C",
      "locale": "it",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "20 band pull-apart tra le serie, non è il lavoro"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4169,
      "cost_usd": 0.0003168,
      "tokens_prompt": 732,
      "tokens_completion": 142,
      "ts": "2026-09-11T16:32:10.708Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-it-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-ru-barbell-coach",
      "seed": 3,
      "band": "C",
      "locale": "ru",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "снимай тяжёлый подход, потом разберём"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2401,
      "cost_usd": 0.0002802,
      "tokens_prompt": 729,
      "tokens_completion": 112,
      "ts": "2026-09-11T16:32:10.930Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-ru-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 2221,
      "cost_usd": 0.0002982,
      "tokens_prompt": 729,
      "tokens_completion": 127,
      "ts": "2026-09-11T16:32:11.401Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-ru-barbell-coach",
      "seed": 2,
      "band": "C",
      "locale": "ru",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "снимай тяжёлый подход, потом разберём"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2984,
      "cost_usd": 0.0002886,
      "tokens_prompt": 729,
      "tokens_completion": 119,
      "ts": "2026-09-11T16:32:11.426Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-ru-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-ru-bodyweight-self",
      "seed": 2,
      "band": "C",
      "locale": "ru",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 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": 2370,
      "cost_usd": 0.000303,
      "tokens_prompt": 729,
      "tokens_completion": 131,
      "ts": "2026-09-11T16:32:12.293Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-ru-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-ru-bodyweight-self",
      "seed": 3,
      "band": "C",
      "locale": "ru",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 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": 2413,
      "cost_usd": 0.0002982,
      "tokens_prompt": 729,
      "tokens_completion": 127,
      "ts": "2026-09-11T16:32:12.568Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-ru-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-ru-conditioning-coach",
      "seed": 3,
      "band": "C",
      "locale": "ru",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "спроси как колено после комплекса"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2182,
      "cost_usd": 0.0003082,
      "tokens_prompt": 725,
      "tokens_completion": 136,
      "ts": "2026-09-11T16:32:12.891Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-ru-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-ru-conditioning-coach",
      "seed": 2,
      "band": "C",
      "locale": "ru",
      "modality": "conditioning",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "спроси как колено после комплекса"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2528,
      "cost_usd": 0.0002782,
      "tokens_prompt": 725,
      "tokens_completion": 111,
      "ts": "2026-09-11T16:32:12.944Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-ru-conditioning-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-zh-barbell-self",
      "seed": 3,
      "band": "C",
      "locale": "zh",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "顶组拍个视频，先别写成组数"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2355,
      "cost_usd": 0.000289,
      "tokens_prompt": 731,
      "tokens_completion": 119,
      "ts": "2026-09-11T16:32:13.782Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-zh-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-zh-barbell-self",
      "seed": 2,
      "band": "C",
      "locale": "zh",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "顶组拍个视频，先别写成组数"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2476,
      "cost_usd": 0.0002998,
      "tokens_prompt": 731,
      "tokens_completion": 128,
      "ts": "2026-09-11T16:32:13.877Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-zh-barbell-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": 3903,
      "cost_usd": 0.000277,
      "tokens_prompt": 725,
      "tokens_completion": 110,
      "ts": "2026-09-11T16:32:14.110Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "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": 3612,
      "cost_usd": 0.0003058,
      "tokens_prompt": 731,
      "tokens_completion": 133,
      "ts": "2026-09-11T16:32:14.542Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "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": 2411,
      "cost_usd": 0.0003076,
      "tokens_prompt": 734,
      "tokens_completion": 134,
      "ts": "2026-09-11T16:32:14.704Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "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": 2301,
      "cost_usd": 0.0002788,
      "tokens_prompt": 728,
      "tokens_completion": 111,
      "ts": "2026-09-11T16:32:15.245Z",
      "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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-zh-bodyweight-coach",
      "seed": 2,
      "band": "C",
      "locale": "zh",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "组间做 20 次弹力带拉开，那不是正式组"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2711,
      "cost_usd": 0.0003328,
      "tokens_prompt": 734,
      "tokens_completion": 155,
      "ts": "2026-09-11T16:32:15.279Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-zh-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-zh-bodyweight-coach",
      "seed": 3,
      "band": "C",
      "locale": "zh",
      "modality": "bodyweight",
      "voice": "coach",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "组间做 20 次弹力带拉开，那不是正式组"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2562,
      "cost_usd": 0.0003256,
      "tokens_prompt": 734,
      "tokens_completion": 149,
      "ts": "2026-09-11T16:32:15.454Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-zh-bodyweight-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-zh-endurance-self",
      "seed": 2,
      "band": "C",
      "locale": "zh",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "跑完告诉我膝盖感觉怎么样"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2385,
      "cost_usd": 0.0003004,
      "tokens_prompt": 728,
      "tokens_completion": 129,
      "ts": "2026-09-11T16:32:16.168Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-zh-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-C-zh-endurance-self",
      "seed": 3,
      "band": "C",
      "locale": "zh",
      "modality": "endurance",
      "voice": "self",
      "expected": {
        "sets": 0
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "跑完告诉我膝盖感觉怎么样"
          }
        ]
      },
      "score_line": 100,
      "fields": 1,
      "ok": 1,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 2476,
      "cost_usd": 0.0002968,
      "tokens_prompt": 728,
      "tokens_completion": 126,
      "ts": "2026-09-11T16:32:16.354Z",
      "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-C-zh-endurance-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-D-pl-barbell-coach",
      "seed": 3,
      "band": "D",
      "locale": "pl",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "rows": [
          {
            "match": "/rozgrzewka|przysiadów z kettlem/i",
            "label": "warm-up kettle squats",
            "sets": 2,
            "reps": 10,
            "weight": null
          },
          {
            "match": "/przysiad 5x5/i",
            "label": "squat 5x5",
            "sets": 5,
            "reps": 5,
            "weight": 100,
            "rest": 120
          },
          {
            "match": "/wyciskanie/i",
            "label": "bench press",
            "sets": 4,
            "reps": 6,
            "weight": null
          },
          {
            "match": "/wiosłowanie/i",
            "label": "barbell row",
            "sets": 3,
            "reps": 8,
            "weight": 80
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 10,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Rozgrzewka; 10 przysiadów z kettlem."
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 120,
            "rpe": null,
            "note": "Przysiad; przerwa 2 min."
          },
          {
            "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": "Wiosłowanie."
          },
          {
            "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": 100,
      "fields": 13,
      "ok": 13,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4152,
      "cost_usd": 0.0006538,
      "tokens_prompt": 827,
      "tokens_completion": 407,
      "ts": "2026-09-11T16:32:19.607Z",
      "diffs": [
        {
          "row": "warm-up kettle squats",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up kettle squats",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "warm-up kettle squats",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "rest_seconds",
          "expected": 120,
          "actual": 120,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "weight_kg",
          "expected": 80,
          "actual": 80,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Rozgrzewka 2 rundy: 10 przysiadów z kettlem."
        },
        {
          "id": "L1",
          "text": "Przysiad 5x5 @100kg, przerwa 2 min."
        },
        {
          "id": "L2",
          "text": "Wyciskanie 4 serie po 6, ciężar dobierz tak żeby było ciężko."
        },
        {
          "id": "L3",
          "text": "Wiosłowanie 3x8 @80kg."
        },
        {
          "id": "L4",
          "text": "Finisher: 20 swingów, to nie jest seria główna — dopisz jako notatkę jeśli musisz."
        }
      ],
      "context": "context/M-D-pl-barbell-coach.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-pl-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-D-pl-barbell-coach",
      "seed": 1,
      "band": "D",
      "locale": "pl",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "rows": [
          {
            "match": "/rozgrzewka|przysiadów z kettlem/i",
            "label": "warm-up kettle squats",
            "sets": 2,
            "reps": 10,
            "weight": null
          },
          {
            "match": "/przysiad 5x5/i",
            "label": "squat 5x5",
            "sets": 5,
            "reps": 5,
            "weight": 100,
            "rest": 120
          },
          {
            "match": "/wyciskanie/i",
            "label": "bench press",
            "sets": 4,
            "reps": 6,
            "weight": null
          },
          {
            "match": "/wiosłowanie/i",
            "label": "barbell row",
            "sets": 3,
            "reps": 8,
            "weight": 80
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 10,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Rozgrzewka 2 rundy: 10 przysiadów z kettlem."
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 120,
            "rpe": null,
            "note": "Przysiad 5x5 @100kg, przerwa 2 min."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "ciężar dobierz tak żeby było ciężko."
          },
          {
            "id": "L3",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 80,
            "rest_seconds": null,
            "rpe": null,
            "note": "Wiosłowanie 3x8 @80kg."
          },
          {
            "id": "L4",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Finisher: 20 swingów, to nie jest seria główna."
          }
        ]
      },
      "score_line": 100,
      "fields": 13,
      "ok": 13,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 4403,
      "cost_usd": 0.000781,
      "tokens_prompt": 827,
      "tokens_completion": 513,
      "ts": "2026-09-11T16:32:19.649Z",
      "diffs": [
        {
          "row": "warm-up kettle squats",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up kettle squats",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "warm-up kettle squats",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "rest_seconds",
          "expected": 120,
          "actual": 120,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "weight_kg",
          "expected": 80,
          "actual": 80,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Rozgrzewka 2 rundy: 10 przysiadów z kettlem."
        },
        {
          "id": "L1",
          "text": "Przysiad 5x5 @100kg, przerwa 2 min."
        },
        {
          "id": "L2",
          "text": "Wyciskanie 4 serie po 6, ciężar dobierz tak żeby było ciężko."
        },
        {
          "id": "L3",
          "text": "Wiosłowanie 3x8 @80kg."
        },
        {
          "id": "L4",
          "text": "Finisher: 20 swingów, to nie jest seria główna — dopisz jako notatkę jeśli musisz."
        }
      ],
      "context": "context/M-D-pl-barbell-coach.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-D-pl-barbell-coach",
      "seed": 2,
      "band": "D",
      "locale": "pl",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "rows": [
          {
            "match": "/rozgrzewka|przysiadów z kettlem/i",
            "label": "warm-up kettle squats",
            "sets": 2,
            "reps": 10,
            "weight": null
          },
          {
            "match": "/przysiad 5x5/i",
            "label": "squat 5x5",
            "sets": 5,
            "reps": 5,
            "weight": 100,
            "rest": 120
          },
          {
            "match": "/wyciskanie/i",
            "label": "bench press",
            "sets": 4,
            "reps": 6,
            "weight": null
          },
          {
            "match": "/wiosłowanie/i",
            "label": "barbell row",
            "sets": 3,
            "reps": 8,
            "weight": 80
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 10,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Rozgrzewka; 10 przysiadów z kettlem."
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 100,
            "rest_seconds": 120,
            "rpe": null,
            "note": "Przysiad; przerwa 2 min."
          },
          {
            "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": "Wiosłowanie."
          },
          {
            "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": 100,
      "fields": 13,
      "ok": 13,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 5182,
      "cost_usd": 0.0007174,
      "tokens_prompt": 827,
      "tokens_completion": 460,
      "ts": "2026-09-11T16:32:20.461Z",
      "diffs": [
        {
          "row": "warm-up kettle squats",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up kettle squats",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "warm-up kettle squats",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "weight_kg",
          "expected": 100,
          "actual": 100,
          "verdict": "match"
        },
        {
          "row": "squat 5x5",
          "field": "rest_seconds",
          "expected": 120,
          "actual": 120,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "weight_kg",
          "expected": 80,
          "actual": 80,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Rozgrzewka 2 rundy: 10 przysiadów z kettlem."
        },
        {
          "id": "L1",
          "text": "Przysiad 5x5 @100kg, przerwa 2 min."
        },
        {
          "id": "L2",
          "text": "Wyciskanie 4 serie po 6, ciężar dobierz tak żeby było ciężko."
        },
        {
          "id": "L3",
          "text": "Wiosłowanie 3x8 @80kg."
        },
        {
          "id": "L4",
          "text": "Finisher: 20 swingów, to nie jest seria główna — dopisz jako notatkę jeśli musisz."
        }
      ],
      "context": "context/M-D-pl-barbell-coach.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-pl-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-D-es-conditioning-self",
      "seed": 1,
      "band": "D",
      "locale": "es",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "rows": [
          {
            "match": "/calentamiento|burpee/i",
            "label": "warm-up burpees",
            "sets": 2,
            "reps": 8,
            "weight": 0
          },
          {
            "match": "/pull-?ups|amrap/i",
            "label": "AMRAP pull-ups",
            "reps": 5,
            "weight": null
          },
          {
            "match": "/thruster/i",
            "label": "thrusters",
            "sets": 3,
            "reps": 8,
            "weight": 40
          },
          {
            "match": "/400/i",
            "label": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
            "sets": 1,
            "reps": 1,
            "weight": null
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Hoy WOD. Calentamiento 2 rondas de 8 burpees."
          },
          {
            "id": "L1",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "AMRAP 10 min: 5 pull-ups y 10 push-ups, sin carga escrita."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 40,
            "rest_seconds": null,
            "rpe": null,
            "note": "Luego 3 series de 8 thrusters a 40kg."
          },
          {
            "id": "L3",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Cierro con 400 metros a tope."
          }
        ]
      },
      "score_line": 63.6,
      "fields": 11,
      "ok": 7,
      "invented": 0,
      "missed": 4,
      "weight_zero": 0,
      "latency_ms": 4759,
      "cost_usd": 0.0007328,
      "tokens_prompt": 790,
      "tokens_completion": 479,
      "ts": "2026-09-11T16:32:20.927Z",
      "diffs": [
        {
          "row": "warm-up burpees",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up burpees",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "warm-up burpees",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        },
        {
          "row": "AMRAP pull-ups",
          "field": "reps",
          "expected": 5,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "AMRAP pull-ups",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "thrusters",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "thrusters",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "thrusters",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        },
        {
          "row": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
          "field": "sets",
          "expected": 1,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
          "field": "reps",
          "expected": 1,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Hoy WOD. Calentamiento 2 rondas de 8 burpees."
        },
        {
          "id": "L1",
          "text": "AMRAP 10 min: 5 pull-ups y 10 push-ups, sin carga escrita."
        },
        {
          "id": "L2",
          "text": "Luego 3 series de 8 thrusters a 40kg."
        },
        {
          "id": "L3",
          "text": "Cierro con 400 metros a tope."
        }
      ],
      "context": "context/M-D-es-conditioning-self.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-D-en-barbell-self-crossfit",
      "seed": 3,
      "band": "D",
      "locale": "en",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "rows": [
          {
            "match": "/warm-?up|two rounds/i",
            "label": "warm-up two rounds",
            "sets": 2,
            "reps": 5
          },
          {
            "match": "/snatch/i",
            "label": "snatch E2MOM",
            "sets": 7,
            "weight": null,
            "rest": 120
          },
          {
            "match": "/dead-stop deadlift/i",
            "label": "dead-stop deadlift",
            "sets": 5,
            "reps": 5,
            "weight": 188.2
          },
          {
            "match": "/ab wheel/i",
            "label": "ab wheel",
            "sets": 5,
            "weight": 0
          },
          {
            "match": "/romanian|barbell rows/i",
            "label": "RDL / barbell rows",
            "sets": 2,
            "reps": 8,
            "weight": 102.1
          },
          {
            "match": "/bulgarian/i",
            "label": "Bulgarian split squat",
            "sets": 1,
            "reps": 15,
            "weight": 54.4
          },
          {
            "match": "/thirty-nine|39/i",
            "label": "39 burpees",
            "sets": 1,
            "reps": 39,
            "weight": 0
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "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": "Warm-up, two rounds, five burpees and some PVC pass-throughs each round."
          },
          {
            "id": "L2",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": 120,
            "rpe": null,
            "note": "The snatch complex: seven sets, E2MOM, every two minutes, work up to a heavy weight — I have not picked the load yet. Reps not specified."
          },
          {
            "id": "L3",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 188.24,
            "rest_seconds": null,
            "rpe": null,
            "note": "Five by five dead-stop deadlifts at 415 pounds, 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.06,
            "rest_seconds": null,
            "rpe": null,
            "note": "Superset of barbell rows and Romanian deadlifts, two sets of eight at 225 pounds."
          },
          {
            "id": "L5",
            "is_prescription": true,
            "sets": 1,
            "reps": 15,
            "weight_kg": 54.43,
            "rest_seconds": null,
            "rpe": null,
            "note": "One set of fifteen Bulgarian split squats at 120 pounds."
          },
          {
            "id": "L6",
            "is_prescription": 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."
          }
        ]
      },
      "score_line": 63.2,
      "fields": 19,
      "ok": 12,
      "invented": 0,
      "missed": 7,
      "weight_zero": 0,
      "latency_ms": 6614,
      "cost_usd": 0.0012366,
      "tokens_prompt": 909,
      "tokens_completion": 879,
      "ts": "2026-09-11T16:32:21.318Z",
      "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": 0,
          "verdict": "miss"
        },
        {
          "row": "snatch E2MOM",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "snatch E2MOM",
          "field": "rest_seconds",
          "expected": 120,
          "actual": 120,
          "verdict": "match"
        },
        {
          "row": "dead-stop deadlift",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "dead-stop deadlift",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "dead-stop deadlift",
          "field": "weight_kg",
          "expected": 188.2,
          "actual": 188.24,
          "verdict": "match"
        },
        {
          "row": "ab wheel",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "ab wheel",
          "field": "weight_kg",
          "expected": 0,
          "actual": 188.24,
          "verdict": "miss"
        },
        {
          "row": "RDL / barbell rows",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "RDL / barbell rows",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "RDL / barbell rows",
          "field": "weight_kg",
          "expected": 102.1,
          "actual": 102.06,
          "verdict": "match"
        },
        {
          "row": "Bulgarian split squat",
          "field": "sets",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "Bulgarian split squat",
          "field": "reps",
          "expected": 15,
          "actual": 15,
          "verdict": "match"
        },
        {
          "row": "Bulgarian split squat",
          "field": "weight_kg",
          "expected": 54.4,
          "actual": 54.43,
          "verdict": "match"
        },
        {
          "row": "39 burpees",
          "field": "sets",
          "expected": 1,
          "actual": 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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-en-barbell-self-crossfit.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-D-es-conditioning-self",
      "seed": 2,
      "band": "D",
      "locale": "es",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "rows": [
          {
            "match": "/calentamiento|burpee/i",
            "label": "warm-up burpees",
            "sets": 2,
            "reps": 8,
            "weight": 0
          },
          {
            "match": "/pull-?ups|amrap/i",
            "label": "AMRAP pull-ups",
            "reps": 5,
            "weight": null
          },
          {
            "match": "/thruster/i",
            "label": "thrusters",
            "sets": 3,
            "reps": 8,
            "weight": 40
          },
          {
            "match": "/400/i",
            "label": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
            "sets": 1,
            "reps": 1,
            "weight": null
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Hoy WOD. Calentamiento 2 rondas de 8 burpees."
          },
          {
            "id": "L1",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "AMRAP 10 min: 5 pull-ups y 10 push-ups, sin carga escrita."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 40,
            "rest_seconds": null,
            "rpe": null,
            "note": "Luego 3 series de 8 thrusters a 40kg."
          },
          {
            "id": "L3",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Cierro con 400 metros a tope."
          }
        ]
      },
      "score_line": 63.6,
      "fields": 11,
      "ok": 7,
      "invented": 0,
      "missed": 4,
      "weight_zero": 0,
      "latency_ms": 5688,
      "cost_usd": 0.0007952,
      "tokens_prompt": 790,
      "tokens_completion": 531,
      "ts": "2026-09-11T16:32:22.043Z",
      "diffs": [
        {
          "row": "warm-up burpees",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up burpees",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "warm-up burpees",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        },
        {
          "row": "AMRAP pull-ups",
          "field": "reps",
          "expected": 5,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "AMRAP pull-ups",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "thrusters",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "thrusters",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "thrusters",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        },
        {
          "row": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
          "field": "sets",
          "expected": 1,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
          "field": "reps",
          "expected": 1,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Hoy WOD. Calentamiento 2 rondas de 8 burpees."
        },
        {
          "id": "L1",
          "text": "AMRAP 10 min: 5 pull-ups y 10 push-ups, sin carga escrita."
        },
        {
          "id": "L2",
          "text": "Luego 3 series de 8 thrusters a 40kg."
        },
        {
          "id": "L3",
          "text": "Cierro con 400 metros a tope."
        }
      ],
      "context": "context/M-D-es-conditioning-self.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-es-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-D-es-conditioning-self",
      "seed": 3,
      "band": "D",
      "locale": "es",
      "modality": "conditioning",
      "voice": "self",
      "expected": {
        "rows": [
          {
            "match": "/calentamiento|burpee/i",
            "label": "warm-up burpees",
            "sets": 2,
            "reps": 8,
            "weight": 0
          },
          {
            "match": "/pull-?ups|amrap/i",
            "label": "AMRAP pull-ups",
            "reps": 5,
            "weight": null
          },
          {
            "match": "/thruster/i",
            "label": "thrusters",
            "sets": 3,
            "reps": 8,
            "weight": 40
          },
          {
            "match": "/400/i",
            "label": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
            "sets": 1,
            "reps": 1,
            "weight": null
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Hoy WOD. Calentamiento 2 rondas de 8 burpees."
          },
          {
            "id": "L1",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "AMRAP 10 min: 5 pull-ups y 10 push-ups, sin carga escrita."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 40,
            "rest_seconds": null,
            "rpe": null,
            "note": "Luego 3 series de 8 thrusters a 40kg."
          },
          {
            "id": "L3",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Cierro con 400 metros a tope."
          }
        ]
      },
      "score_line": 63.6,
      "fields": 11,
      "ok": 7,
      "invented": 0,
      "missed": 4,
      "weight_zero": 0,
      "latency_ms": 4896,
      "cost_usd": 0.00068,
      "tokens_prompt": 790,
      "tokens_completion": 435,
      "ts": "2026-09-11T16:32:24.504Z",
      "diffs": [
        {
          "row": "warm-up burpees",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up burpees",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "warm-up burpees",
          "field": "weight_kg",
          "expected": 0,
          "actual": null,
          "verdict": "miss"
        },
        {
          "row": "AMRAP pull-ups",
          "field": "reps",
          "expected": 5,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "AMRAP pull-ups",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "thrusters",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "thrusters",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "thrusters",
          "field": "weight_kg",
          "expected": 40,
          "actual": 40,
          "verdict": "match"
        },
        {
          "row": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
          "field": "sets",
          "expected": 1,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
          "field": "reps",
          "expected": 1,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "400 m (graded as 1×1; no duration/distance in SCHEMA)",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Hoy WOD. Calentamiento 2 rondas de 8 burpees."
        },
        {
          "id": "L1",
          "text": "AMRAP 10 min: 5 pull-ups y 10 push-ups, sin carga escrita."
        },
        {
          "id": "L2",
          "text": "Luego 3 series de 8 thrusters a 40kg."
        },
        {
          "id": "L3",
          "text": "Cierro con 400 metros a tope."
        }
      ],
      "context": "context/M-D-es-conditioning-self.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-es-conditioning-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-D-en-barbell-self-crossfit",
      "seed": 2,
      "band": "D",
      "locale": "en",
      "modality": "barbell",
      "voice": "self",
      "expected": {
        "rows": [
          {
            "match": "/warm-?up|two rounds/i",
            "label": "warm-up two rounds",
            "sets": 2,
            "reps": 5
          },
          {
            "match": "/snatch/i",
            "label": "snatch E2MOM",
            "sets": 7,
            "weight": null,
            "rest": 120
          },
          {
            "match": "/dead-stop deadlift/i",
            "label": "dead-stop deadlift",
            "sets": 5,
            "reps": 5,
            "weight": 188.2
          },
          {
            "match": "/ab wheel/i",
            "label": "ab wheel",
            "sets": 5,
            "weight": 0
          },
          {
            "match": "/romanian|barbell rows/i",
            "label": "RDL / barbell rows",
            "sets": 2,
            "reps": 8,
            "weight": 102.1
          },
          {
            "match": "/bulgarian/i",
            "label": "Bulgarian split squat",
            "sets": 1,
            "reps": 15,
            "weight": 54.4
          },
          {
            "match": "/thirty-nine|39/i",
            "label": "39 burpees",
            "sets": 1,
            "reps": 39,
            "weight": 0
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "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": "Warm-up: two rounds, five burpees and some PVC pass-throughs each round."
          },
          {
            "id": "L2",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": 120,
            "rpe": null,
            "note": "Snatch complex: seven sets, E2MOM, every two minutes, work up to a heavy weight — I have not picked the load yet."
          },
          {
            "id": "L3-deadlift",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 188.2,
            "rest_seconds": null,
            "rpe": null,
            "note": "Dead-stop deadlifts at 415 pounds."
          },
          {
            "id": "L3-ab-wheel",
            "is_prescription": true,
            "sets": 5,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "After each deadlift set do one ab wheel rollout so pair those, five ab wheels with the five deadlift sets."
          },
          {
            "id": "L4-rows",
            "is_prescription": true,
            "sets": 2,
            "reps": 8,
            "weight_kg": 102.1,
            "rest_seconds": null,
            "rpe": null,
            "note": "Superset of barbell rows, two sets of eight at 225 pounds."
          },
          {
            "id": "L4-romanian-deadlifts",
            "is_prescription": true,
            "sets": 2,
            "reps": 8,
            "weight_kg": 102.1,
            "rest_seconds": null,
            "rpe": null,
            "note": "Superset of 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": "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."
          }
        ]
      },
      "score_line": 31.6,
      "fields": 19,
      "ok": 6,
      "invented": 0,
      "missed": 13,
      "weight_zero": 0,
      "latency_ms": 10261,
      "cost_usd": 0.0017406,
      "tokens_prompt": 909,
      "tokens_completion": 1299,
      "ts": "2026-09-11T16:32:24.804Z",
      "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": 0,
          "verdict": "miss"
        },
        {
          "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": 5,
          "verdict": "miss"
        },
        {
          "row": "RDL / barbell rows",
          "field": "reps",
          "expected": 8,
          "actual": 1,
          "verdict": "miss"
        },
        {
          "row": "RDL / barbell rows",
          "field": "weight_kg",
          "expected": 102.1,
          "actual": null,
          "verdict": "miss"
        },
        {
          "row": "Bulgarian split squat",
          "field": "sets",
          "expected": 1,
          "actual": 2,
          "verdict": "miss"
        },
        {
          "row": "Bulgarian split squat",
          "field": "reps",
          "expected": 15,
          "actual": 8,
          "verdict": "miss"
        },
        {
          "row": "Bulgarian split squat",
          "field": "weight_kg",
          "expected": 54.4,
          "actual": 102.1,
          "verdict": "miss"
        },
        {
          "row": "39 burpees",
          "field": "sets",
          "expected": 1,
          "actual": 2,
          "verdict": "miss"
        },
        {
          "row": "39 burpees",
          "field": "reps",
          "expected": 39,
          "actual": 8,
          "verdict": "miss"
        },
        {
          "row": "39 burpees",
          "field": "weight_kg",
          "expected": 0,
          "actual": 102.1,
          "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": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-en-barbell-self-crossfit.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-D-fr-endurance-coach",
      "seed": 2,
      "band": "D",
      "locale": "fr",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "rows": [
          {
            "match": "/400/i",
            "label": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
            "sets": 5,
            "reps": 1,
            "weight": null,
            "rest": 90
          },
          {
            "match": "/fentes/i",
            "label": "lunges BW",
            "sets": 3,
            "reps": 8,
            "weight": 0
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Échauffement 10 minutes de vélo, zone 2, pas de séries."
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 5,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": 90,
            "rpe": null,
            "note": "400 mètres"
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "poids du corps"
          },
          {
            "id": "L3",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Finis par un effort de 2 km facile, charge non indiquée."
          }
        ]
      },
      "score_line": 100,
      "fields": 7,
      "ok": 7,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 5420,
      "cost_usd": 0.000831,
      "tokens_prompt": 789,
      "tokens_completion": 561,
      "ts": "2026-09-11T16:32:25.882Z",
      "diffs": [
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        },
        {
          "row": "lunges BW",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "lunges BW",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "lunges BW",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Échauffement 10 minutes de vélo, zone 2, pas de séries."
        },
        {
          "id": "L1",
          "text": "Puis 5 répétitions de 400 mètres, récup 90 secondes."
        },
        {
          "id": "L2",
          "text": "Ensuite 3 séries de 8 fentes, poids du corps."
        },
        {
          "id": "L3",
          "text": "Finis par un effort de 2 km facile, charge non indiquée."
        }
      ],
      "context": "context/M-D-fr-endurance-coach.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-fr-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-D-fr-endurance-coach",
      "seed": 1,
      "band": "D",
      "locale": "fr",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "rows": [
          {
            "match": "/400/i",
            "label": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
            "sets": 5,
            "reps": 1,
            "weight": null,
            "rest": 90
          },
          {
            "match": "/fentes/i",
            "label": "lunges BW",
            "sets": 3,
            "reps": 8,
            "weight": 0
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Échauffement 10 minutes de vélo, zone 2, pas de séries."
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 5,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": 90,
            "rpe": null,
            "note": "5 répétitions de 400 mètres, récup 90 secondes."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "3 séries de 8 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": 100,
      "fields": 7,
      "ok": 7,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 6619,
      "cost_usd": 0.000819,
      "tokens_prompt": 789,
      "tokens_completion": 551,
      "ts": "2026-09-11T16:32:26.268Z",
      "diffs": [
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        },
        {
          "row": "lunges BW",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "lunges BW",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "lunges BW",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Échauffement 10 minutes de vélo, zone 2, pas de séries."
        },
        {
          "id": "L1",
          "text": "Puis 5 répétitions de 400 mètres, récup 90 secondes."
        },
        {
          "id": "L2",
          "text": "Ensuite 3 séries de 8 fentes, poids du corps."
        },
        {
          "id": "L3",
          "text": "Finis par un effort de 2 km facile, charge non indiquée."
        }
      ],
      "context": "context/M-D-fr-endurance-coach.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-D-de-bodyweight-self",
      "seed": 1,
      "band": "D",
      "locale": "de",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "rows": [
          {
            "match": "/aufwärmen|squads/i",
            "label": "warm-up squats",
            "sets": 2,
            "reps": 10,
            "weight": 0
          },
          {
            "match": "/klimm/i",
            "label": "pull-ups",
            "sets": 5,
            "reps": 5,
            "weight": 0
          },
          {
            "match": "/dips/i",
            "label": "dips",
            "sets": 4,
            "reps": 8,
            "weight": 0
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "Aufwärmen zwei Runden à 10 Squads ohne Gewicht."
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "Körpergewicht."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "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": 100,
      "fields": 9,
      "ok": 9,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 5165,
      "cost_usd": 0.0007934,
      "tokens_prompt": 793,
      "tokens_completion": 529,
      "ts": "2026-09-11T16:32:26.483Z",
      "diffs": [
        {
          "row": "warm-up squats",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up squats",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "warm-up squats",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "pull-ups",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "pull-ups",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "pull-ups",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "dips",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "dips",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "dips",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Heute Calisthenics. Aufwärmen zwei Runden à 10 Squads ohne Gewicht."
        },
        {
          "id": "L1",
          "text": "Dann 5 Sätze Klimmzüge, 5 Wiederholungen, Körpergewicht."
        },
        {
          "id": "L2",
          "text": "Dips 4x8 BW."
        },
        {
          "id": "L3",
          "text": "Zum Schluss 20 Band Pull-aparts zwischen den Sätzen — das ist kein Arbeitssatz."
        }
      ],
      "context": "context/M-D-de-bodyweight-self.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-D-de-bodyweight-self",
      "seed": 2,
      "band": "D",
      "locale": "de",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "rows": [
          {
            "match": "/aufwärmen|squads/i",
            "label": "warm-up squats",
            "sets": 2,
            "reps": 10,
            "weight": 0
          },
          {
            "match": "/klimm/i",
            "label": "pull-ups",
            "sets": 5,
            "reps": 5,
            "weight": 0
          },
          {
            "match": "/dips/i",
            "label": "dips",
            "sets": 4,
            "reps": 8,
            "weight": 0
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "Aufwärmen zwei Runden à 10 Squads ohne Gewicht."
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "Körpergewicht."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "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": 100,
      "fields": 9,
      "ok": 9,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 5070,
      "cost_usd": 0.0007442,
      "tokens_prompt": 793,
      "tokens_completion": 488,
      "ts": "2026-09-11T16:32:27.114Z",
      "diffs": [
        {
          "row": "warm-up squats",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up squats",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "warm-up squats",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "pull-ups",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "pull-ups",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "pull-ups",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "dips",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "dips",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "dips",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Heute Calisthenics. Aufwärmen zwei Runden à 10 Squads ohne Gewicht."
        },
        {
          "id": "L1",
          "text": "Dann 5 Sätze Klimmzüge, 5 Wiederholungen, Körpergewicht."
        },
        {
          "id": "L2",
          "text": "Dips 4x8 BW."
        },
        {
          "id": "L3",
          "text": "Zum Schluss 20 Band Pull-aparts zwischen den Sätzen — das ist kein Arbeitssatz."
        }
      ],
      "context": "context/M-D-de-bodyweight-self.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-de-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-D-fr-endurance-coach",
      "seed": 3,
      "band": "D",
      "locale": "fr",
      "modality": "endurance",
      "voice": "coach",
      "expected": {
        "rows": [
          {
            "match": "/400/i",
            "label": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
            "sets": 5,
            "reps": 1,
            "weight": null,
            "rest": 90
          },
          {
            "match": "/fentes/i",
            "label": "lunges BW",
            "sets": 3,
            "reps": 8,
            "weight": 0
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Échauffement 10 minutes de vélo, zone 2, pas de séries."
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 5,
            "reps": 1,
            "weight_kg": null,
            "rest_seconds": 90,
            "rpe": null,
            "note": "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": 100,
      "fields": 7,
      "ok": 7,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 7848,
      "cost_usd": 0.000957,
      "tokens_prompt": 789,
      "tokens_completion": 666,
      "ts": "2026-09-11T16:32:28.775Z",
      "diffs": [
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "reps",
          "expected": 1,
          "actual": 1,
          "verdict": "match"
        },
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "5×400 m (graded as 5×1; no duration/distance in SCHEMA)",
          "field": "rest_seconds",
          "expected": 90,
          "actual": 90,
          "verdict": "match"
        },
        {
          "row": "lunges BW",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "lunges BW",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "lunges BW",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Échauffement 10 minutes de vélo, zone 2, pas de séries."
        },
        {
          "id": "L1",
          "text": "Puis 5 répétitions de 400 mètres, récup 90 secondes."
        },
        {
          "id": "L2",
          "text": "Ensuite 3 séries de 8 fentes, poids du corps."
        },
        {
          "id": "L3",
          "text": "Finis par un effort de 2 km facile, charge non indiquée."
        }
      ],
      "context": "context/M-D-fr-endurance-coach.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-fr-endurance-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-D-de-bodyweight-self",
      "seed": 3,
      "band": "D",
      "locale": "de",
      "modality": "bodyweight",
      "voice": "self",
      "expected": {
        "rows": [
          {
            "match": "/aufwärmen|squads/i",
            "label": "warm-up squats",
            "sets": 2,
            "reps": 10,
            "weight": 0
          },
          {
            "match": "/klimm/i",
            "label": "pull-ups",
            "sets": 5,
            "reps": 5,
            "weight": 0
          },
          {
            "match": "/dips/i",
            "label": "dips",
            "sets": 4,
            "reps": 8,
            "weight": 0
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 10,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "Heute Calisthenics. 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": "Dann 5 Sätze Klimmzüge, 5 Wiederholungen, Körpergewicht."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 4,
            "reps": 8,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "Dips 4x8 BW."
          },
          {
            "id": "L3",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Zum Schluss 20 Band Pull-aparts zwischen den Sätzen — das ist kein Arbeitssatz."
          }
        ]
      },
      "score_line": 100,
      "fields": 9,
      "ok": 9,
      "invented": 0,
      "missed": 0,
      "weight_zero": 0,
      "latency_ms": 5414,
      "cost_usd": 0.0008282,
      "tokens_prompt": 793,
      "tokens_completion": 558,
      "ts": "2026-09-11T16:32:29.919Z",
      "diffs": [
        {
          "row": "warm-up squats",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up squats",
          "field": "reps",
          "expected": 10,
          "actual": 10,
          "verdict": "match"
        },
        {
          "row": "warm-up squats",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "pull-ups",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "pull-ups",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "pull-ups",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        },
        {
          "row": "dips",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "dips",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "dips",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Heute Calisthenics. Aufwärmen zwei Runden à 10 Squads ohne Gewicht."
        },
        {
          "id": "L1",
          "text": "Dann 5 Sätze Klimmzüge, 5 Wiederholungen, Körpergewicht."
        },
        {
          "id": "L2",
          "text": "Dips 4x8 BW."
        },
        {
          "id": "L3",
          "text": "Zum Schluss 20 Band Pull-aparts zwischen den Sätzen — das ist kein Arbeitssatz."
        }
      ],
      "context": "context/M-D-de-bodyweight-self.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-de-bodyweight-self.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-D-it-barbell-coach",
      "seed": 1,
      "band": "D",
      "locale": "it",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "rows": [
          {
            "match": "/riscaldamento|swing/i",
            "label": "warm-up swings",
            "sets": 2,
            "reps": 8,
            "weight": null
          },
          {
            "match": "/stacco/i",
            "label": "deadlift 5x5",
            "sets": 5,
            "reps": 5,
            "weight": 140,
            "rest": 180
          },
          {
            "match": "/panca/i",
            "label": "bench press",
            "sets": 4,
            "reps": 6,
            "weight": null
          },
          {
            "match": "/rematore/i",
            "label": "barbell row",
            "sets": 3,
            "reps": 8,
            "weight": 80
          },
          {
            "match": "/burpee/i",
            "label": "15 burpees",
            "sets": 1,
            "reps": 15,
            "weight": 0
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Riscaldamento 2 giri di 8 swing."
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 140,
            "rest_seconds": 180,
            "rpe": null,
            "note": "Stacco 5x5 a 140kg, riposo 3 minuti."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Panca 4 serie da 6, carica pesante ma non scritta."
          },
          {
            "id": "L3",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 80,
            "rest_seconds": null,
            "rpe": null,
            "note": "Rematore 3x8 a 80kg."
          },
          {
            "id": "L4",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Chiudi con 15 burpee, peso corporeo."
          }
        ]
      },
      "score_line": 81.3,
      "fields": 16,
      "ok": 13,
      "invented": 0,
      "missed": 3,
      "weight_zero": 0,
      "latency_ms": 5334,
      "cost_usd": 0.0008478,
      "tokens_prompt": 801,
      "tokens_completion": 573,
      "ts": "2026-09-11T16:32:30.138Z",
      "diffs": [
        {
          "row": "warm-up swings",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up swings",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "warm-up swings",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "weight_kg",
          "expected": 140,
          "actual": 140,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "rest_seconds",
          "expected": 180,
          "actual": 180,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "weight_kg",
          "expected": 80,
          "actual": 80,
          "verdict": "match"
        },
        {
          "row": "15 burpees",
          "field": "sets",
          "expected": 1,
          "actual": 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": "openai/gpt-5.6-luna",
        "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": "openai/gpt-5.6-luna",
      "corpus_id": "M-D-it-barbell-coach",
      "seed": 2,
      "band": "D",
      "locale": "it",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "rows": [
          {
            "match": "/riscaldamento|swing/i",
            "label": "warm-up swings",
            "sets": 2,
            "reps": 8,
            "weight": null
          },
          {
            "match": "/stacco/i",
            "label": "deadlift 5x5",
            "sets": 5,
            "reps": 5,
            "weight": 140,
            "rest": 180
          },
          {
            "match": "/panca/i",
            "label": "bench press",
            "sets": 4,
            "reps": 6,
            "weight": null
          },
          {
            "match": "/rematore/i",
            "label": "barbell row",
            "sets": 3,
            "reps": 8,
            "weight": 80
          },
          {
            "match": "/burpee/i",
            "label": "15 burpees",
            "sets": 1,
            "reps": 15,
            "weight": 0
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Riscaldamento 2 giri di 8 swing."
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 140,
            "rest_seconds": 180,
            "rpe": null,
            "note": "Stacco 5x5 a 140kg, riposo 3 minuti."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Panca 4 serie da 6, carica pesante ma non scritta."
          },
          {
            "id": "L3",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 80,
            "rest_seconds": null,
            "rpe": null,
            "note": "Rematore 3x8 a 80kg."
          },
          {
            "id": "L4",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "Chiudi con 15 burpee, peso corporeo."
          }
        ]
      },
      "score_line": 87.5,
      "fields": 16,
      "ok": 14,
      "invented": 0,
      "missed": 2,
      "weight_zero": 0,
      "latency_ms": 4941,
      "cost_usd": 0.0007542,
      "tokens_prompt": 801,
      "tokens_completion": 495,
      "ts": "2026-09-11T16:32:30.823Z",
      "diffs": [
        {
          "row": "warm-up swings",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up swings",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "warm-up swings",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "weight_kg",
          "expected": 140,
          "actual": 140,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "rest_seconds",
          "expected": 180,
          "actual": 180,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "weight_kg",
          "expected": 80,
          "actual": 80,
          "verdict": "match"
        },
        {
          "row": "15 burpees",
          "field": "sets",
          "expected": 1,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "15 burpees",
          "field": "reps",
          "expected": 15,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "15 burpees",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Riscaldamento 2 giri di 8 swing."
        },
        {
          "id": "L1",
          "text": "Stacco 5x5 a 140kg, riposo 3 minuti."
        },
        {
          "id": "L2",
          "text": "Panca 4 serie da 6, carica pesante ma non scritta."
        },
        {
          "id": "L3",
          "text": "Rematore 3x8 a 80kg."
        },
        {
          "id": "L4",
          "text": "Chiudi con 15 burpee, peso corporeo."
        }
      ],
      "context": "context/M-D-it-barbell-coach.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 2,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-it-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "corpus_id": "M-D-it-barbell-coach",
      "seed": 3,
      "band": "D",
      "locale": "it",
      "modality": "barbell",
      "voice": "coach",
      "expected": {
        "rows": [
          {
            "match": "/riscaldamento|swing/i",
            "label": "warm-up swings",
            "sets": 2,
            "reps": 8,
            "weight": null
          },
          {
            "match": "/stacco/i",
            "label": "deadlift 5x5",
            "sets": 5,
            "reps": 5,
            "weight": 140,
            "rest": 180
          },
          {
            "match": "/panca/i",
            "label": "bench press",
            "sets": 4,
            "reps": 6,
            "weight": null
          },
          {
            "match": "/rematore/i",
            "label": "barbell row",
            "sets": 3,
            "reps": 8,
            "weight": 80
          },
          {
            "match": "/burpee/i",
            "label": "15 burpees",
            "sets": 1,
            "reps": 15,
            "weight": 0
          }
        ]
      },
      "actual": {
        "rows": [
          {
            "id": "L0",
            "is_prescription": true,
            "sets": 2,
            "reps": 8,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Riscaldamento 2 giri di 8 swing."
          },
          {
            "id": "L1",
            "is_prescription": true,
            "sets": 5,
            "reps": 5,
            "weight_kg": 140,
            "rest_seconds": 180,
            "rpe": null,
            "note": "Stacco 5x5 a 140kg, riposo 3 minuti."
          },
          {
            "id": "L2",
            "is_prescription": true,
            "sets": 4,
            "reps": 6,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "Panca 4 serie da 6, carica pesante ma non scritta."
          },
          {
            "id": "L3",
            "is_prescription": true,
            "sets": 3,
            "reps": 8,
            "weight_kg": 80,
            "rest_seconds": null,
            "rpe": null,
            "note": "Rematore 3x8 a 80kg."
          },
          {
            "id": "L4",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": 0,
            "rest_seconds": null,
            "rpe": null,
            "note": "Chiudi con 15 burpee, peso corporeo."
          }
        ]
      },
      "score_line": 87.5,
      "fields": 16,
      "ok": 14,
      "invented": 0,
      "missed": 2,
      "weight_zero": 0,
      "latency_ms": 4707,
      "cost_usd": 0.0007098,
      "tokens_prompt": 801,
      "tokens_completion": 458,
      "ts": "2026-09-11T16:32:30.976Z",
      "diffs": [
        {
          "row": "warm-up swings",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up swings",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "warm-up swings",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "weight_kg",
          "expected": 140,
          "actual": 140,
          "verdict": "match"
        },
        {
          "row": "deadlift 5x5",
          "field": "rest_seconds",
          "expected": 180,
          "actual": 180,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "sets",
          "expected": 4,
          "actual": 4,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "reps",
          "expected": 6,
          "actual": 6,
          "verdict": "match"
        },
        {
          "row": "bench press",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "sets",
          "expected": 3,
          "actual": 3,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "barbell row",
          "field": "weight_kg",
          "expected": 80,
          "actual": 80,
          "verdict": "match"
        },
        {
          "row": "15 burpees",
          "field": "sets",
          "expected": 1,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "15 burpees",
          "field": "reps",
          "expected": 15,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "15 burpees",
          "field": "weight_kg",
          "expected": 0,
          "actual": 0,
          "verdict": "match"
        }
      ],
      "error": null,
      "input_lines": [
        {
          "id": "L0",
          "text": "Riscaldamento 2 giri di 8 swing."
        },
        {
          "id": "L1",
          "text": "Stacco 5x5 a 140kg, riposo 3 minuti."
        },
        {
          "id": "L2",
          "text": "Panca 4 serie da 6, carica pesante ma non scritta."
        },
        {
          "id": "L3",
          "text": "Rematore 3x8 a 80kg."
        },
        {
          "id": "L4",
          "text": "Chiudi con 15 burpee, peso corporeo."
        }
      ],
      "context": "context/M-D-it-barbell-coach.json",
      "request": {
        "model": "openai/gpt-5.6-luna",
        "temperature": 0,
        "seed": 3,
        "usage": {
          "include": true
        },
        "response_format": {
          "type": "json_schema",
          "json_schema": {
            "name": "prescription_rows",
            "schema_ref": "schema.json",
            "strict": false
          }
        },
        "messages": [
          {
            "role": "user",
            "content": "(reconstruct from context/M-D-it-barbell-coach.json + prompt.md)"
          }
        ]
      }
    },
    {
      "model": "openai/gpt-5.6-luna",
      "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": true,
            "sets": 2,
            "reps": 5,
            "weight_kg": null,
            "rest_seconds": null,
            "rpe": null,
            "note": "two rounds, five burpees and some PVC pass-throughs each round"
          },
          {
            "id": "L2",
            "is_prescription": false,
            "sets": 0,
            "reps": 0,
            "weight_kg": null,
            "rest_seconds": 120,
            "rpe": null,
            "note": "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.24,
            "rest_seconds": null,
            "rpe": null,
            "note": "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": 225,
            "rest_seconds": null,
            "rpe": null,
            "note": "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": 120,
            "rest_seconds": null,
            "rpe": null,
            "note": "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."
          }
        ]
      },
      "score_line": 63.2,
      "fields": 19,
      "ok": 12,
      "invented": 0,
      "missed": 7,
      "weight_zero": 0,
      "latency_ms": 20301,
      "cost_usd": 0.0013218,
      "tokens_prompt": 909,
      "tokens_completion": 950,
      "ts": "2026-09-11T16:32:34.411Z",
      "diffs": [
        {
          "row": "warm-up two rounds",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "warm-up two rounds",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "snatch E2MOM",
          "field": "sets",
          "expected": 7,
          "actual": 0,
          "verdict": "miss"
        },
        {
          "row": "snatch E2MOM",
          "field": "weight_kg",
          "expected": null,
          "actual": null,
          "verdict": "match"
        },
        {
          "row": "snatch E2MOM",
          "field": "rest_seconds",
          "expected": 120,
          "actual": 120,
          "verdict": "match"
        },
        {
          "row": "dead-stop deadlift",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "dead-stop deadlift",
          "field": "reps",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "dead-stop deadlift",
          "field": "weight_kg",
          "expected": 188.2,
          "actual": 188.24,
          "verdict": "match"
        },
        {
          "row": "ab wheel",
          "field": "sets",
          "expected": 5,
          "actual": 5,
          "verdict": "match"
        },
        {
          "row": "ab wheel",
          "field": "weight_kg",
          "expected": 0,
          "actual": 188.24,
          "verdict": "miss"
        },
        {
          "row": "RDL / barbell rows",
          "field": "sets",
          "expected": 2,
          "actual": 2,
          "verdict": "match"
        },
        {
          "row": "RDL / barbell rows",
          "field": "reps",
          "expected": 8,
          "actual": 8,
          "verdict": "match"
        },
        {
          "row": "RDL / barbell rows",
          "field": "weight_kg",
          "expected": 102.1,
          "actual": 225,
          "verdict": "miss"
        },
        {
          "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": 120,
          "verdict": "miss"
        },
        {
          "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": "openai/gpt-5.6-luna",
        "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)"
          }
        ]
      }
    }
  ]
}
