# M-A-pl-endurance-self

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.

## Envelope defaults

- temperature: 0
- seed: per run (see data/models/*.json)
- strict: false
- schema: ../schema.json

## messages[0].content (whole user message sent)

```
You convert ONE-LINE strength/conditioning prescriptions into structured sets.

FIRST, THE ONLY QUESTION THAT MATTERS — is_prescription:
true  when the line states HOW MANY SETS and HOW MANY REPS, in any wording: "3 sets of 8",
      a listed ladder ("5,4,3,2,1"), a pyramid ("12-10-8-6"), an interval protocol
      ("EMOM 12 min: 3 cleans" = 12 sets of 3), a tempo/percentage sentence that still names
      sets and reps ("tempo 3-1-3, 4 serie po 6"), or shorthand ("5x5"). Prose IS a valid
      wording — do not decline a line just because it contains words.
false when the line names no set/rep structure at all, or its numbers belong to a CUE, a filler
      task or a question rather than to the prescribed work.
EXAMPLES — is_prescription true:
  "3 sets of 8, heavy-ish, last set to failure" -> sets 3, reps 8, weight null
  "ladder 5,4,3,2,1 working up to 140kg"        -> sets 5, reps 5, weight null (140 is a TARGET)
  "EMOM 12 min: 3 cleans @70kg"                 -> sets 12, reps 3, weight 70
  "4 serie po 10 na każdą nogę"                 -> sets 4, reps 10, weight null
  "3 serie po 12, ciężko"                       -> sets 3, reps 12, weight null (worded intensity)
EXAMPLES — is_prescription false (sets 0):
  "20 band pull-aparts between sets"  (accessory filler, not the prescribed work)
  "Focus on bracing, film the top set" (a cue)
  "zapytaj mnie jak pójdzie"           (a question)

THEN THE VALUES:
1. NEVER invent a number the coach did not write. If load is not stated, weight_kg = null.
   A fabricated number enters a real training plan and gets trained.
2. Bodyweight ("BW", "bodyweight", "peso corporal", "自重") = weight_kg 0. 0 MEANS bodyweight.
3. sets = how many sets the line produces (max 20). reps = reps of the FIRST set.
4. Percentages, RPE-only, "work up to" targets and worded intensity ("heavy", "ciężko") are NOT
   a weight: keep weight_kg null and put those words in note.
5. Weights are KILOGRAMS. Convert lb to kg. Rest is SECONDS.
6. Write `note` in the same language as the line, and keep the coach's own words there.

INPUT:
L0: 6x8 @0 r90
```
