Historiske grafer for kroppstilstand. Velg tidsvindu — opp til alt-time. Daglig verdi (transparent) + 7-dagers glidende snitt (mørk linje) + baseline (gull) der relevant.
| Dato | HRV | Status | RHR | Søvn | Stress | TR |
|---|---|---|---|---|---|---|
| 2026-07-10 | 68 | BALANCED | 38 | 7.1h/86 | 11 | 62 |
| 2026-07-09 | 54 | BALANCED | 43 | 6.5h/74 | 27 | 50 |
| 2026-07-08 | 79 | BALANCED | 40 | 6.5h/75 | 22 | 69 |
| 2026-07-07 | 71 | BALANCED | 38 | 6.8h/82 | 25 | 55 |
| 2026-07-06 | 71 | BALANCED | 40 | 6.9h/84 | 22 | 63 |
| 2026-07-05 | 84 | BALANCED | 36 | 5.8h/73 | 24 | 50 |
| 2026-07-04 | 74 | BALANCED | 37 | 7.9h/92 | 21 | 64 |
FERIE uke 3 — hjemreise 16.7, re-etabler rutine · Mål: 100 km · 2 kvalitet · langtur 30 km
Siste feriedager + hjemkomst torsdag. Re-etabler søvn/døgnrytme før kvalitet gjenopptas. Lørdag første normale langtur hjemme. REVIDERT 3.7: ±100 km/uke — volum opp via rolige km, kvalitet 2×/uke der det passer.
| Dag | Plan | Plan km | Faktisk | Faktisk km | Avvik | Type | TSB |
|---|---|---|---|---|---|---|---|
| Man 2026-07-13 |
Easy 11 km | 11 | — | 0.0 | ikke utført | — | -1 |
| Tir (i dag) 2026-07-14 |
Easy 12 km + Rodal bodyweight (4 øv.) | 12 | — | 0.0 | ikke utført | — | +10 |
| Ons 2026-07-15 |
45/15 × 22 (kontrollert I3) | 14 | (planlagt) | 0.0 | — | — | — |
| Tor 2026-07-16 |
Easy 12 km + Rodal kjerne | 12 | (planlagt) | 0.0 | — | — | — |
| Fre 2026-07-17 |
Tempo: 3×10 min @ 3:55–4:00 (vei/mølle) — reisevennlig (fre/lør etter logistikk) | 12 | (planlagt) | 0.0 | — | — | — |
| Lør 2026-07-18 |
Langtur 30 km rolig (tidlig morgen) | 30 | (planlagt) | 0.0 | — | — | — |
| Søn 2026-07-19 |
Easy 9 km | 9 | (planlagt) | 0.0 | — | — | — |
| Sum uke | 100 km | 0.0 km | -100% | ||||
Avvik: grønn ≤10 %, gul 10–25 %, rød >25 %/ikke utført. Type: ⚠ når planlagt kvalitet/langtur ble easy (eller omvendt). TSB fra training_load (dagens verdi).
| Uke | Dato | km | Langtur | Kval | Fase | Nøkkeløkter |
|---|---|---|---|---|---|---|
| u27 | 06-29–07-05 | 85 | 26 | 2 | FERIE uke 1 — hotell m/ mølle (revidert 3.7) | GJENNOMFØRT: 2×10×400 (mølle/ferie) · Mølle-terskel: 3×12 min @ 15,2–15,5 km/t (3:52–3:57) |
| u28 | 07-06–07-12 | 100 | 28 | 2 | FERIE uke 2 — varme-base (Italia) | Mølle/ute-terskel: 5×2000 @ 3:53–3:56 (90s) · 45/15 × 22 utendørs tidlig ELLER mølle: 10×1000 @ 3: |
| u29 | 07-13–07-19 | 100 | 30 | 2 | FERIE uke 3 — hjemreise 16.7, re-etabler rutine | 45/15 × 22 (kontrollert I3) · Tempo: 3×10 min @ 3:55–4:00 (vei/mølle) — reisevennl |
| u30 | 07-20–07-26 | 100 | 28 | 1 | Fase 3 uke 1 — re-intro bane + gym (én stressor | MandagsTOSK re-intro: 8×1000 @ 3:55 (60s stå), kontr |
| u31 | 07-27–08-02 | 105 | 30 | 2 | Fase 3 uke 2 — byggetopp + dobbel terskel re-int | MandagsTOSK: 5×2000 @ 3:52–3:55 (90s stå) · DOBBEL TERSKEL: AM 6 km @ 4:10–4:15 (LT1) · PM Onsda |
| u32 | 08-03–08-09 | 71 | 18 | 2 | Fase 3 uke 3 — Energimila mini-taper (A−) | MandagsTOSK 10k-spiss: 6×1000 @ 3:45–3:48 (60s stå) · 4×400 @ 3:25 + 4×100 strides (fart uten syre) |
| u33 | 08-10–08-16 | 74 | 22 | 1 | Fase 3 uke 4 — ENERGIMILA 10 km onsdag 12.8 | Primer: 3×1000 @ 3:50 (full pause) + strides · 🏁 ENERGIMILA 10 km — mål sub-37:00 (3:42/km). Jevn s |
| u34 | 08-17–08-23 | 104 | 32 | 3 | Fase 3 uke 5 — HM-bygg: dobbel terskel + L4-lang | MandagsTOSK: 4×2000 @ 3:50 (90s stå) — HMP-terskel · DOBBEL: AM 6 km @ 4:10 (LT1) · PM 10×1000 @ 3:50 (60 · Langtur 32 km L4: 3×5 km @ MP 4:00–4:05 i km 15–30 — |
| u35 | 08-24–08-30 | 108 | 34 | 3 | Fase 3 uke 6 — SESONGTOPP (volum + kvalitet) | MandagsTOSK: 3×3000 @ 3:50–3:52 (2 min stå) — HM-spe · DOBBEL: AM 6 km @ 4:10 · PM 45/15 × 25 (kontrollert · Langtur 34 km L4: 12 km sammenhengende @ MP 4:00–4:0 |
| u36 | 08-31–09-06 | 100 | 28 | 2 | Fase 3 uke 7 — down-uke + HM-retning | MandagsTOSK: 5×2000 @ 3:48–3:50 (90s stå) · Langtur 28 km: siste 6 km @ HMP 3:50 (L3/L4) |
| u37 | 09-07–09-13 | 72 | 20 | 2 | Fase 4 uke 1 — København-taper del 1 | MandagsTOSK: 5×1000 @ 3:45 (60s stå) — skarp og kort · Langtur 20 km m/ 5 km @ HMP 3:47–3:50 (generalprøve: |
| u38 | 09-14–09-20 | 60 | 22 | 1 | Fase 4 uke 2 — KØBENHAVN HM søndag 20.9 | Primer: 4×1000 @ 3:50 (full pause) · 🏁 KØBENHAVN HALVMARATON — mål sub-1:20:00 (3:47/km), |
| u39 | 09-21–09-27 | 75 | 22 | 0 | Fase 5 uke 1 — HM-restitusjon + IMMUNVAKT | |
| u40 | 09-28–10-04 | 100 | 36 | 2 | Fase 5 uke 2 — maraton-storuke (lengste tur T-15 | TOSK (flyttet fra man): 5×2000 @ 3:55–3:58 — MP-ters · LANGTUR 36 km L4: 3×6 km @ MP 4:00–4:03 (km 14–34) — |
| u41 | 10-05–10-11 | 90 | 26 | 3 | Fase 5 uke 3 — MP-rytme + siste mellomlange | MandagsTOSK: 4×2000 @ 3:58–4:00 (MP-rytme, 90s stå) · OnsdagsTOSK: 6×1000 @ 3:52 (60s stå) · Langtur 26 km m/ 12 km @ MP 4:01 (T-8) — siste MP-ge |
| u42 | 10-12–10-18 | 74 | 43 | 1 | Fase 5 uke 4 — Amsterdam-taper | MP-primer: 4×1000 @ 4:00 (full pause) · 🏁 AMSTERDAM MARATON — mål sub-2:50:00 (4:01/km). Jev |
Race-uke-rutine: sjekk race-eve-flagg på 🎯 Mål-fanen kvelden før · pacing fra prediksjonen · immunvakt 3–5 dager etter målgang. Full begrunnelse og KPI-definisjoner: Running_Brief_Blokkplan-Amsterdam_v2.md.
Gjennomføringsskår = faktisk vs. frosset plan (slik den ble lagt uka før). Begrunnede endringer (vær/sykdom/HRV) re-baselinerer målet og gir ikke trekk — de telles i planstabilitet. Klikk en uke for full rapport.
NB: W24–W27 mangler — snapshot-rutinen stoppet 31. mai og ukene kan ikke skåres ærlig i etterkant (planen ble retro-justert i ferien). Fikset 2026-07-04: snapshot fryses nå automatisk i sync (søndag/mandag).
| Dato | Dag | Struktur | Kategori | Drag | n | Total | Kv-km | Pace drag | HR snitt | HR maks | Score | Sko | Vær |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Dato | Dag | Navn | Blokk | Klasse | Format | Dist | Tid | Pace | HR snitt | HR maks | Kv-km | Stign | Sko | Vær | Skår |
|---|
💡 Klikk på et løp for å åpne hele analysen i ny fane.
Distanse er rundet til offisiell verdi. Pace beregnet fra offisiell tid + offisiell distanse. Stigning fra Strava. Klikk kolonne-header for å sortere — særlig nyttig på Skår.
| Dato | Navn | Type | Dist | Tid | Pace | HR snitt | HR maks | Stign | Skår | Sko | Vær |
|---|
Beregnet fra offisielle distanser og tider. Klikk en rad for å åpne race-dashboard.
| # | Tid | Pace | Dato | Løp | Skår |
|---|---|---|---|---|---|
| 1 🏆 | 18:38 | 3:44/km | 2025-08-13 | 5k-split fra EnergiMila 2025 (første halvdel) | 6.2 |
| # | Tid | Pace | Dato | Løp | Skår |
|---|---|---|---|---|---|
| 1 🏆 | 37:24 | 3:44/km | 2025-08-13 | EnergiMila 37:24 🥳🤩 | 7.9 |
| 2 | 38:26 | 3:51/km | 2025-06-07 | Sommernattsløpet 38:26 🥳 | 8.8 |
| 3 | 38:38 | 3:52/km | 2024-03-22 | 10k på bane. 38:38 og pers 🥳 | 7.7 |
| 4 | 39:25 | 3:56/km | 2024-05-25 | Nidaros Løpefest 39:25 | 4.4 |
| 5 | 39:26 | 3:57/km | 2023-09-16 | Oslo Maraton 10k - 39:26 🎉 | 8.4 |
| # | Tid | Pace | Dato | Løp | Skår |
|---|---|---|---|---|---|
| 1 🏆 | 1:21:19 | 3:51/km | 2026-03-29 | 🇩🇪 Berlin halvmaraton 1:21:19 🇩🇪 | 8.9 |
| 2 | 1:24:24 | 4:00/km | 2025-09-06 | Trondheim halvmaraton 1:24:24 | 8.3 |
| 3 | 1:27:49 | 4:10/km | 2023-09-02 | Trondheim halvmaraton 2023 - 1:27:49 🎉 | 8.2 |
| 4 | 1:29:16 | 4:14/km | 2022-11-05 | Halvmaraton med TOSK | 8.9 |
| 5 | 1:33:45 | 4:27/km | 2021-08-08 | Halvmaraton | 6.9 |
| # | Tid | Pace | Dato | Løp | Skår |
|---|---|---|---|---|---|
| 1 🏆 | 2:53:06 | 4:06/km | 2025-10-26 | 🇩🇪 Frankfurt Maraton 2:53:06 🇩🇪 | 9.4 |
| 2 | 2:56:36 | 4:11/km | 2024-12-01 | Valencia Maraton 2:56:36 🇪🇸 | 8.0 |
| 3 | 2:59:11 | 4:15/km | 2024-05-05 | København Maraton 2:59:11 🇩🇰 | 8.6 |
| 4 | 2:59:34 | 4:15/km | 2024-09-29 | Berlin Maraton 2:59:34 🇩🇪 | 8.0 |
| 5 | 3:09:02 | 4:29/km | 2023-11-05 | New York Marathon 3:09:02 🗽🎉 | 5.9 |
| # | Tid | Pace | Dato | Løp | Skår |
|---|---|---|---|---|---|
| 1 🏆 | 10:49 | 3:36/km | 2024-03-10 | 3000 meter - 10:49 | 2.2 |
Hver kurve viser den raskeste tiden per race over historikken (akkumulert PR-progresjon). Punkter er race-tider, kurven er rullende minimum.
| Dato | Ukedag | Navn | Arena | Dist | Tid | Pace | HR snitt | HR maks | Stign | Sko | Vær | Temp |
|---|
Makspuls-tester, laktatprofiler og VO2max-målinger. Klikk på en rad for å se testresultat.
| Dato | Type | Tittel | Resultat |
|---|---|---|---|
| 2026-02-24 | 🔬 Lab (Laktat+VO2) | Laktatprofil og VO2-maks → | HRmax 186 · LT1 159 · LT2 169 · VO2≈63 |
| 2025-11-10 | 💗 Makspulstest | Makspulstest → | HRmax 188 (peak 183 + 5) |
| 2024-05-31 | 💗 Makspulstest | Makspulstest → | HRmax 185 (peak 180 + 5) |
| 2024-03-01 | 🩸 Laktatprofil | Laktatprofil Løplabbet Lade → | Første laktatprofil — venter på data |
| 2020-05-10 | 💗 Makspulstest | Mislykket forsøk på makspulstest → | HRmax 186 (peak 181 + 5) |
| Dato | Verdi | Ref |
|---|---|---|
| 20.04.2026 | 13,5 g/dL | 13,4 - 17,0 |
| 10.03.2026 | 13,5 g/dL | 13,4 - 17,0 |
| 06.01.2026 | 13,1 g/dL | 13,4 - 17,0 |
| 03.06.2025 | 13,3 g/dL | 13,4 - 17,0 |
| 22.04.2025 | 12,8 g/dL | 13,4 - 17,0 |
| 28.11.2024 | 13,0 g/dL | 13,4 - 17,0 |
| 22.05.2024 | 13,7 g/dL | 13,4 - 17,0 |
| 24.01.2024 | 13,8 g/dL | 13,4 - 17,0 |
| Dato | Verdi | Ref |
|---|---|---|
| 10.03.2026 | 0,42 | 0,40 - 0,50 |
| 06.01.2026 | 0,40 | 0,40 - 0,50 |
| 03.06.2025 | 0,41 | 0,40 - 0,50 |
| Dato | Verdi | Ref |
|---|---|---|
| 10.03.2026 | 94 fL | 82 - 98 |
| 06.01.2026 | 91 fL | 82 - 98 |
| 22.04.2025 | 95 fL | 82 - 98 |
| 28.11.2024 | 99 fL | 82 - 98 |
| 22.05.2024 | 93 fL | 82 - 98 |
| 24.01.2024 | 95 fL | 82 - 98 |
| 27.02.2023 | 92 fL | 82 - 98 |
| 30.05.2022 | 99 fL | 82 - 98 |
| Dato | Verdi | Ref |
|---|---|---|
| 10.03.2026 | 30 pg | 27 - 33 |
| 06.01.2026 | 30 pg | 27 - 33 |
| 22.04.2025 | 30 pg | 27 - 33 |
| 28.11.2024 | 31 pg | 27 - 33 |
| 22.05.2024 | 30 pg | 27 - 33 |
| 24.01.2024 | 30 pg | 27 - 33 |
| 27.02.2023 | 30 pg | 27 - 33 |
| 30.05.2022 | 30 pg | 27 - 33 |
| Dato | Verdi | Ref |
|---|---|---|
| 20.04.2026 | 61 ug/L | 20 - 300 |
| 10.03.2026 | 71 ug/L | 20 - 300 |
| 06.01.2026 | 53 ug/L | 20 - 300 |
| 03.06.2025 | 71 ug/L | 20 - 300 |
| 22.04.2025 | 83 ug/L | 20 - 300 |
| 28.11.2024 | 94 ug/L | 20 - 300 |
| 22.05.2024 | 93 ug/L | 20 - 300 |
| 24.01.2024 | 104 ug/L | 20 - 300 |
| Dato | Verdi | Ref |
|---|---|---|
| 03.06.2025 | 1,10 mg/L | 0,76 - 1,76 |
| 24.01.2024 | 1,44 mg/L | 0,76 - 1,76 |
| Dato | Verdi | Ref |
|---|---|---|
| 03.06.2025 | 20 % | 15 - 57 |
| 24.01.2024 | 25 % | 15 - 57 |
| 14.09.2010 | 8 % | 15 - 57 |
| 02.02.2009 | 35 % | 15 - 57 |
| 11.09.2007 | 27 % | 15 - 57 |
| Dato | Verdi | Ref |
|---|---|---|
| 20.04.2026 | 105,6 pmol/L | >60 |
| 22.04.2025 | 115,5 pmol/L | >60 |
| Dato | Verdi | Ref |
|---|---|---|
| 22.04.2025 | 49 nmol/L | 50 - 150 |
| 24.01.2024 | 58 nmol/L | 50 - 150 |
| 27.02.2023 | 54 nmol/L | 50 - 150 |
| 30.05.2022 | 56 nmol/L | 50 - 150 |
| 17.12.2021 | 46 nmol/L | 50 - 150 |
| 04.09.2019 | 57 nmol/L | 50 - 150 |
| 04.04.2019 | 43 nmol/L | 50 - 150 |
| 03.09.2018 | 58 nmol/L | 50 - 150 |
| Dato | Verdi | Ref |
|---|---|---|
| 22.04.2025 | 49 nmol/L | — |
| 24.01.2024 | 58 nmol/L | — |
| 27.02.2023 | 54 nmol/L | — |
| 30.05.2022 | 56 nmol/L | — |
| 17.12.2021 | 46 nmol/L | — |
| 04.09.2019 | 57 nmol/L | — |
| 04.04.2019 | 43 nmol/L | — |
| 03.09.2018 | 58 nmol/L | — |
| Dato | Verdi | Ref |
|---|---|---|
| 28.11.2024 | 235 pmol/L | 170 - 650 |
| 22.05.2024 | 266 pmol/L | 170 - 650 |
| 24.01.2024 | 266 pmol/L | 170 - 650 |
| 27.02.2023 | 424 pmol/L | 170 - 650 |
| 30.05.2022 | 262 pmol/L | 170 - 650 |
| 17.12.2021 | 251 pmol/L | 170 - 650 |
| 08.02.2021 | 299 pmol/L | 170 - 650 |
| 04.09.2019 | 319 pmol/L | 170 - 650 |
| Dato | Verdi | Ref |
|---|---|---|
| 20.04.2026 | 16,9 nmol/L | >5,7 |
| 30.05.2022 | 16,9 nmol/L | >5,7 |
| 17.12.2021 | 12,1 nmol/L | >5,7 |
| 08.02.2021 | 15,7 nmol/L | >5,7 |
| 04.09.2019 | 16,5 nmol/L | >5,7 |
| Dato | Verdi | Ref |
|---|---|---|
| 14.09.2010 | 2,35 mmol/L | 2,15 - 2,51 |
| Dato | Verdi | Ref |
|---|---|---|
| 20.04.2026 | 1,5 mU/L | 0,20 - 4,0 |
| 10.03.2026 | 1,5 mU/L | 0,20 - 4,0 |
| 06.01.2026 | 1,6 mU/L | 0,20 - 4,0 |
| 22.04.2025 | 2,2 mU/L | 0,20 - 4,0 |
| 28.11.2024 | 1,4 mU/L | 0,20 - 4,0 |
| 22.05.2024 | 1,9 mU/L | 0,20 - 4,0 |
| 24.01.2024 | 1,6 mU/L | 0,20 - 4,0 |
| 27.02.2023 | 1,4 mU/L | 0,20 - 4,0 |
| Dato | Verdi | Ref |
|---|---|---|
| 10.03.2026 | 21 nmol/L | 8 - 35 |
| 06.01.2026 | 19 nmol/L | 8 - 35 |
| 03.06.2025 | 27 nmol/L | 8 - 35 |
| 27.02.2023 | 23 nmol/L | 8 - 35 |
| 11.09.2007 | 33 nmol/L | 8 - 35 |
| Dato | Verdi | Ref |
|---|---|---|
| 10.03.2026 | 68 nmol/L | 8 - 60 |
| 06.01.2026 | 71 nmol/L | 8 - 60 |
| 03.06.2025 | 70 nmol/L | 8 - 60 |
| 27.02.2023 | 66 nmol/L | 8 - 60 |
| 11.09.2007 | 36 nmol/L | 8 - 60 |
| Dato | Verdi | Ref |
|---|---|---|
| 10.03.2026 | 3,2 | 2,3 - 9,9 |
| 06.01.2026 | 2,7 | 2,3 - 9,9 |
| 03.06.2025 | 3,8 | 2,3 - 9,9 |
| 27.02.2023 | 3,5 | 2,3 - 9,9 |
| Dato | Verdi | Ref |
|---|---|---|
| 20.04.2026 | 15,4 pmol/L | 11,0 - 23,0 |
| 03.07.2020 | 16,7 pmol/L | 11,0 - 23,0 |
| 04.04.2019 | 14,9 pmol/L | 11,0 - 23,0 |
| 03.09.2018 | 18,3 pmol/L | 11,0 - 23,0 |
| 28.09.2017 | 16,9 pmol/L | 11,0 - 23,0 |
| 22.03.2017 | 18,3 pmol/L | 11,0 - 23,0 |
| 17.10.2016 | 16,9 pmol/L | 11,0 - 23,0 |
| 10.02.2016 | 16,4 pmol/L | 11,0 - 23,0 |
| Dato | Verdi | Ref |
|---|---|---|
| 20.04.2026 | 5,6 pmol/L | 3,5 - 6,5 |
| Dato | Verdi | Ref |
|---|---|---|
| 20.04.2026 | 382 nmol/L | 200 - 650 |
| Dato | Verdi | Ref |
|---|---|---|
| 20.04.2026 | 77 umol/L | 60 - 105 |
| 10.03.2026 | 74 umol/L | 60 - 105 |
| 06.01.2026 | 73 umol/L | 60 - 105 |
| 22.04.2025 | 81 umol/L | 60 - 105 |
| 28.11.2024 | 76 umol/L | 60 - 105 |
| 22.05.2024 | 75 umol/L | 60 - 105 |
| 24.01.2024 | 74 umol/L | 60 - 105 |
| 27.02.2023 | 77 umol/L | 60 - 105 |
| Dato | Verdi | Ref |
|---|---|---|
| 20.04.2026 | 106 mL/min/1,73m2 | >65 |
| 10.03.2026 | 108 mL/min/1,73m2 | >65 |
| Dato | Verdi | Ref |
|---|---|---|
| 10.03.2026 | 46 g/L | 35 - 45 |
| 06.01.2026 | 49 g/L | 35 - 45 |
| 03.06.2025 | 45 g/L | 35 - 45 |
| 27.02.2023 | 47 g/L | 36 - 48 |
| 11.09.2007 | 47 g/L | 36 - 48 |
| Dato | Verdi | Ref |
|---|---|---|
| 06.01.2026 | 109 mL/min/1,73m2 | >65 |
| 22.04.2025 | 104 mL/min/1,73m2 | >65 |
| 28.11.2024 | 108 mL/min/1,73m2 | >65 |
| 22.05.2024 | 109 mL/min/1,73m2 | >68 |
| 24.01.2024 | 110 mL/min/1,73m2 | >68 |
| 27.02.2023 | 109 mL/min/1,73m2 | >68 |
| 30.05.2022 | 112 mL/min/1,73m2 | >68 |
| 17.12.2021 | 110 mL/min/1,73m2 | >68 |
| Dato | Verdi | Ref |
|---|---|---|
| 20.04.2026 | 22 U/L | <70 |
| 06.01.2026 | 31 U/L | <70 |
| 22.04.2025 | 17 U/L | <70 |
| 28.11.2024 | 20 U/L | <70 |
| 22.05.2024 | 22 U/L | <70 |
| 24.01.2024 | 19 U/L | <70 |
| 27.02.2023 | 20 U/L | <70 |
| 30.05.2022 | 16 U/L | <70 |
| Dato | Verdi | Ref |
|---|---|---|
| 08.02.2021 | 20 U/L | <45 |
| 03.07.2020 | 20 U/L | <45 |
| 04.09.2019 | 20 U/L | <45 |
| 04.04.2019 | 26 U/L | <45 |
| 03.09.2018 | 16 U/L | <45 |
| 28.09.2017 | 17 U/L | <45 |
| 22.03.2017 | 20 U/L | <45 |
| 17.10.2016 | 21 U/L | <45 |
| Dato | Verdi | Ref |
|---|---|---|
| 03.07.2020 | 6 umol/L | <26 |
| 04.04.2019 | 11 umol/L | <26 |
| 03.09.2018 | 9 umol/L | <26 |
| 28.09.2017 | 9 umol/L | <26 |
| 22.03.2017 | 12 umol/L | <26 |
| 17.10.2016 | 10 umol/L | <26 |
| 10.02.2016 | 11 umol/L | <26 |
| 21.10.2015 | 9 umol/L | <26 |
| Dato | Verdi | Ref |
|---|---|---|
| 17.10.2016 | 13 U/L | <80 |
| 10.02.2016 | 14 U/L | <80 |
| 21.10.2015 | 17 U/L | <80 |
| 14.09.2010 | 23 U/L | <80 |
| Dato | Verdi | Ref |
|---|---|---|
| 06.01.2026 | 0,4 mg/L | <5 |
| Dato | Verdi | Ref |
|---|---|---|
| 20.04.2026 | <1 mg/L | <5 |
| 22.04.2025 | <1 mg/L | <5 |
| 28.11.2024 | <1 mg/L | <5 |
| 22.05.2024 | <1 mg/L | <5 |
| 24.01.2024 | <1 mg/L | <5 |
| 27.02.2023 | <1 mg/L | <5 |
| 30.05.2022 | <1 mg/L | <5 |
| 08.02.2021 | <1 mg/L | <5 |
| Dato | Verdi | Ref |
|---|---|---|
| 20.04.2026 | 5,9 10^9 /L | 3,5 - 10,0 |
| 06.01.2026 | 6,9 10^9 /L | 3,5 - 10,0 |
| 22.04.2025 | 6,2 10^9 /L | 3,5 - 10,0 |
| 28.11.2024 | 6,9 10^9 /L | 3,5 - 10,0 |
| 22.05.2024 | 7,4 10^9 /L | 3,5 - 10,0 |
| 24.01.2024 | 4,7 10^9 /L | 3,5 - 10,0 |
| 27.02.2023 | 5,0 10^9 /L | 3,5 - 10,0 |
| 30.05.2022 | 5,4 10^9 /L | 3,5 - 10,0 |
| Dato | Verdi | Ref |
|---|---|---|
| 06.01.2026 | 3,0 mmol/L | 1,4 - 4,7 |
| 27.02.2023 | 3,0 mmol/L | 1,4 - 4,7 |
| Dato | Verdi | Ref |
|---|---|---|
| 06.01.2026 | 0,87 ug/L | <2,0 |
| 03.06.2025 | 0,86 ug/L | <2,0 |
| 28.09.2017 | 0,86 ug/L | 0 - 2,5 |
| Dato | Verdi | Ref |
|---|---|---|
| 03.06.2025 | 13,9 umol/L | 9,0 - 34,0 |
| 24.01.2024 | 18,6 umol/L | 9,0 - 34,0 |
| 14.09.2010 | 5,2 umol/L | 9,0 - 34,0 |
| 02.02.2009 | 25,0 umol/L | 9,0 - 34,0 |
| 11.09.2007 | 21,2 umol/L | 9,0 - 34,0 |
| Dato | Verdi | Ref |
|---|---|---|
| 03.06.2025 | 69 umol/L | 49 - 83 |
| 24.01.2024 | 74 umol/L | 49 - 83 |
| 14.09.2010 | 67 umol/L | 49 - 83 |
| 02.02.2009 | 71 umol/L | 49 - 83 |
| 11.09.2007 | 80 umol/L | 49 - 83 |
| Dato | Verdi | Ref |
|---|---|---|
| 03.06.2025 | 5 U/L | 1 - 12 |
| 11.09.2007 | 5 U/L | < 12 |
| Dato | Verdi | Ref |
|---|---|---|
| 03.06.2025 | 4 U/L | 1 - 10 |
| 11.09.2007 | 5 U/L | < 12 |
| Dato | Verdi | Ref |
|---|---|---|
| 22.04.2025 | 243 10^9 /L | 145 - 348 |
| 28.11.2024 | 229 10^9 /L | 145 - 348 |
| 22.05.2024 | 273 10^9 /L | 145 - 348 |
| 24.01.2024 | 261 10^9 /L | 145 - 348 |
| 27.02.2023 | 237 10^9 /L | 145 - 348 |
| 30.05.2022 | 262 10^9 /L | 145 - 348 |
| 17.12.2021 | 267 10^9 /L | 145 - 348 |
| 14.09.2010 | 292 10^9 /L | 145 - 348 |
| Dato | Verdi | Ref |
|---|---|---|
| 20.04.2026 | 67 U/L | <400 |
| 24.01.2024 | 69 U/L | <400 |
| Dato | Verdi | Ref |
|---|---|---|
| 27.02.2023 | 4,8 mmol/L | 3,3 - 6,9 |
| 21.10.2015 | 4,8 mmol/L | 3,3 - 6,9 |
| Dato | Verdi | Ref |
|---|---|---|
| 27.02.2023 | <100 mg/L | <250 |
| Dato | Verdi | Ref |
|---|---|---|
| 30.05.2022 | 13,2 umol/L | 5,0 - 15,0 |
| Dato | Verdi | Ref |
|---|---|---|
| 30.05.2022 | 0,15 umol/L | <0,30 |
| Dato | Verdi | Ref |
|---|---|---|
| 30.05.2022 | 140 mmol/L | 137 - 145 |
| 17.12.2021 | 142 mmol/L | 137 - 145 |
| 08.02.2021 | 141 mmol/L | 137 - 145 |
| 03.07.2020 | 142 mmol/L | 137 - 145 |
| 04.09.2019 | 139 mmol/L | 137 - 145 |
| 04.04.2019 | 139 mmol/L | 137 - 145 |
| 03.09.2018 | 141 mmol/L | 137 - 145 |
| 28.09.2017 | 141 mmol/L | 137 - 145 |
| Dato | Verdi | Ref |
|---|---|---|
| 30.05.2022 | 4,0 mmol/L | 3,6 - 5,0 |
| 17.12.2021 | 4,3 mmol/L | 3,6 - 5,0 |
| 08.02.2021 | 4,3 mmol/L | 3,6 - 5,0 |
| 03.07.2020 | 4,1 mmol/L | 3,6 - 5,0 |
| 04.09.2019 | 4,0 mmol/L | 3,6 - 5,0 |
| 04.04.2019 | 4,4 mmol/L | 3,6 - 5,0 |
| 03.09.2018 | 4,2 mmol/L | 3,6 - 5,0 |
| 28.09.2017 | 4,2 mmol/L | 3,6 - 5,0 |
| Dato | Verdi | Ref |
|---|---|---|
| 03.07.2020 | 57 U/L | <105 |
| 04.04.2019 | 52 U/L | <105 |
| 03.09.2018 | 47 U/L | <105 |
| 28.09.2017 | 46 U/L | <105 |
| 22.03.2017 | 49 U/L | <105 |
| 17.10.2016 | 45 U/L | <105 |
| 10.02.2016 | 53 U/L | <105 |
| 21.10.2015 | 55 U/L | <105 |
| Dato | Verdi | Ref |
|---|---|---|
| 04.09.2019 | 0,07 umol/L | NEG (<0,03) |
| Dato | Verdi | Ref |
|---|---|---|
| 17.10.2016 | 349 umol/L | 230 - 480 |
| 10.02.2016 | 345 umol/L | 230 - 480 |
| 21.10.2015 | 344 umol/L | 230 - 480 |
| Dato | Verdi | Ref |
|---|---|---|
| 17.10.2016 | 50 U/L | 25 - 120 |
| 10.02.2016 | 50 U/L | 25 - 120 |
| 21.10.2015 | 48 U/L | 25 - 120 |
| Dato | Verdi | Ref |
|---|---|---|
| 21.10.2015 | 5,6 % | <6,1 |
| Dato | Verdi | Ref |
|---|---|---|
| 21.10.2015 | 1,8 mmol/L | 0,8 - 2,1 |
| Dato | Verdi | Ref |
|---|---|---|
| 20.04.2026 | Utført | — |
| 14.09.2010 | Utført | — |
| 02.02.2009 | Utført | — |
| Dato | Verdi | Ref |
|---|---|---|
| 14.09.2010 | 4,9 10^9 /L | 1,6 - 8,3 |
| 02.02.2009 | 2,5 10^9 /L | 1,6 - 8,3 |
| Dato | Verdi | Ref |
|---|---|---|
| 14.09.2010 | 2,2 10^9 /L | 0,8 - 5,0 |
| 02.02.2009 | 2,1 10^9 /L | 0,8 - 5,0 |
| Dato | Verdi | Ref |
|---|---|---|
| 14.09.2010 | 0,9 10^9 /L | 0,1 - 1,0 |
| 02.02.2009 | 0,3 10^9 /L | 0,1 - 1,0 |
| Dato | Verdi | Ref |
|---|---|---|
| 14.09.2010 | 0,1 10^9 /L | <0,7 |
| 02.02.2009 | 0,2 10^9 /L | <0,7 |
| Dato | Verdi | Ref |
|---|---|---|
| 14.09.2010 | 0 10^9 /L | <0,2 |
| 02.02.2009 | 0,0 10^9 /L | <0,2 |
| Dato | Verdi | Ref |
|---|---|---|
| 14.09.2010 | Se kommentar nmol/L | — |
| Dato | Verdi | Ref |
|---|---|---|
| 11.09.2007 | 3,8 mmol/L | 3,2 - 8,1 |
| Dato | Verdi | Ref |
|---|---|---|
| 20.04.2026 | 1,9 10^9 /L | 1,5 - 7,3 |
| Dato | Verdi | Ref |
|---|---|---|
| 20.04.2026 | 3,4 10^9 /L | 1,1 - 3,3 |
| Dato | Verdi | Ref |
|---|---|---|
| 20.04.2026 | 0,3 10^9 /L | 0,2 - 0,8 |
| Dato | Verdi | Ref |
|---|---|---|
| 20.04.2026 | 0,2 10^9 /L | <0,4 |
| Dato | Verdi | Ref |
|---|---|---|
| 20.04.2026 | <0,1 10^9 /L | <0,2 |
| Dato | Verdi | Ref |
|---|---|---|
| 20.04.2026 | 176 U/L | <205 |
| Dato | Verdi | Ref |
|---|---|---|
| 20.04.2026 | <35 ng/L | <85 |
Hover over kortene for full historikk · Status «WARN» betyr enten utenfor referansen, eller suboptimal for utøver (siste 15% av referanseområdet).
Kalendere: Familiekalender · vindu: 365 dager · ↗ Åpne i ny fane
Prediksjon (LOO ~2 %): Energimila 36:01 / mål 37:00 (75 %) · København 1:19:38 / mål 1:20:00 (54 %) · Amsterdam 2:47:25 / mål 2:50:00 (63 %) · ↗ Åpne i ny fane
💡 Tolkning (live): beste median ved 2 °C (5:04/km); ved 18 °C koster varmen ~24 s/km på HR-normalisert easy-pace (40 økter). Mørke punkter = 2026.
Analyse av daily_log-notater. Søker etter "godfølelse" / "tunge ben"-mønstre og måler HRV/RHR-respons 1-7 dager etter notatet.
⚡ Tidlig-varsel-edge: Når du noterer "tunge ben" eller lignende, faller HRV i snitt 12.9 ms og RHR stiger 2.9 bpm i påfølgende uke. Stol på instinktet — dataene følger.
Alle dype analyser, gruppert og søkbare. Hover over ⓘ for kort sammendrag + hovedkonklusjon · klikk tittelen for å lese hele · filtrer med knappene eller søk fritt.
Dato: 2026-07-05 · Skrevet av: Claude (Fable, økt 2 i 2-dagersplanen) · Grunnlag: alle 11 maraton-dypanalyser i `Sessions/Races/maraton/` (13 seksjoner / ~7 700 ord per løp), LOO-residualene i `race_predict_model.json` (post-MOD-1..5), `race_weather.json` (tidsvektet race-vær), `block_stats.json`, `quality.json` (664 økter), `illness_periods.json`, Riegel-seksjonene (§2.9) i `Analyser/race_deep/*.md`.
Hva dette er: Den første analysen som leser alle 11 maraton på tvers — hva skiller de beste fra de verste, kvantifisert per KPI — og destillerer det til sub-3-oppskrift v2 med konfidensnivå per krav. v1-oppskriften (blokkanalysen 2026-07-03 §7, i dag KPI-grunnlag for Blokkplan-fanen og Amsterdam-briefen §4) var én flat liste lest ut av 10 blokk-rader. v2 bygger på hele race-dokumentasjonen (pacing, mage, race-eve, vær — ikke bare blokka), inkluderer London (som juli-tabellen utelot), retter to KPI-definisjoner som ikke tålte etterprøving, og skiller plattform (det som bygger kapasiteten) fra realisering (det som avgjør om den kommer ut på dagen).
Metode-noter: (1) «vs modell» er dagens LOO T-14 fra `race_predict_model.json` — etter MOD-refit 03.07 avviker den noe fra juli-rapportens tall (Paris −1,2 % nå vs −2,2 % da; Frankfurt −1,0 vs −2,4). London er ekskludert fra kalibreringen og har ingen LOO-verdi. (2) Blokk-KPI-ene er re-beregnet med én konsistent metode for alle 11 blokker (quality.json per `block_goal_date`); avvik mot juli-tabellen på øktscore/decoupling skyldes reskår-drift siden 03.07 og at decoupling her måles på 30k+-turene (metoden som reproduserer juli-tallet for Kbh: 1,44 ≈ 1,4). (3) Halvdels-splits er beregnet fra 1000m-laps i `Races/*_data.json`, skalert til offisiell tid; for Valencia-24 og Frankfurt finnes offisielle mattetider og de har forrang. Trondheims splits er GPS-upålitelige («klokka på bærtur», 43,0 km målt).
| # | Løp | Tid | vs modell (T-14) | Fade (2./1. halvdel) | Snitt-HR vs LT2 | Vær (racesnitt) | Definerende hendelse |
|---|---|---|---|---|---|---|---|
| 1 | Trondheim 2021 | 3:30:07 | −1,4 % | (GPS-usikker) | 163,8 · LT1+3 | 11,1° · 1,7 m/s | Debut. Maks-HR 188 av 190 — alt brukt. |
| 2 | Barcelona 2022 | 3:25:19 | +0,4 % | −0,3 % | 159,9 · under LT1 | **18,5°** · 1,3 | Varme. Holdt bevisst igjen — reserve ubrukt. |
| 3 | Oslo 2022 | 3:19:48 | **+1,7 %** | **+5,1 %** | 165,5 | 14,3° · 3,6 | «Knakk i siste bakken» — null MP-arbeid i blokka. |
| 4 | Valencia 2022 | 3:14:23 | −1,9 % | +2,0 % | 162,9 | 10,7° · 1,2 | «Gikk ut for hardt, vondt fra 20 km.» |
| 5 | Paris 2023 | 3:21:46 | −1,2 % | +0,7 % | 167 · = LT2 | 8,4° · **6,1** | 11 sykedager (kne + infeksjoner), halv oppkjøring. |
| 6 | New York 2023 | 3:09:02 | **−3,2 %** | +1,9 % | 173 · **over LT2** | 11,4° · 1,0 | Krampe-fare. Langturene raske men dårlig utført. |
| 7 | København 2024 | **2:59:11** | +0,5 % | +0,5 % | 172,8 · over LT2 | 11,9° · 3,7 | Første sub-3. TOSK-tog i 4:15. «Ødelagt på 38 km.» |
| 8 | Berlin 2024 | 2:59:34 | +0,2 % | +1,7 % | (HR korrupt) | 11,0° · 3,4 | Mageknip km 27–30 — nesten kostet sub-3. |
| 9 | Valencia 2024 | 2:56:37 | +0,5 % | +0,3 % | 156,6 · under LT1 | 11,9° · 1,5 | PB tross 3 d forkjølelse. Materialets dypeste taper. |
| 10 | London 2025 | 3:19:12 | (ekskl.) | **+18,4 %** | 150,9 · maks 179 | **16,8° (maks 19,2)** · 0,3 | Dagsform-kollaps: «Tungt fra start, ble bare verre.» |
| 11 | Frankfurt 2025 | **2:53:06** | −1,0 % | **−0,7 %** (off. −3,0 s/km) | 161,9 · I3 | 7,3° · **6,4** | PB, negativ split, siste km raskest. 7 sykedager i blokka. |
Tider = offisielle chip-tider; LOO regner på Garmin-varighet (5–9 s avvik, Paris 43 s pga. sen klokkestart). Berlin-HR (143) og delvis Valencia-24-HR er sensor-artefakter — merket i kildeanalysene.
Tre klynger trer fram: sub-3-laget (7–9, 11: alle innenfor −1,0…+0,5 % av modellen, fade ≤+1,7 %), utviklingsløpene (1–6: spredning i begge retninger, fade opp til +5,1 %), og London — alene i sin klasse, og nettopp derfor holdt utenfor kalibreringen.
| Blokk | km/u | kval-km/u | 30k+ | MP-km | øktscore | LT-score | dcp 30k+ | syk (blokk / siste 6 u) | peak CTL | race-TSB | drag-snitt | tune-up |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Trondheim 21 | 61,3 | 5,3 | 6 | 6 | 5,68 | 7,96 | — | 0 / 0 | 91,7 | +37 | 4:17 | 1 |
| Barcelona 22 | 47,3 | 4,6 | 2 | 0 | 5,42 | 7,66 | — | 2 / 0 | 77,3 | +19,5 | 4:33 | 0 |
| Oslo 22 | 64,1 | 8,1 | 2 | 106 | 5,97 | 7,56 | 5,3 | 3 / 0 | 95,9 | +33,7 | 4:18 | 0 |
| Valencia 22 | 61,9 | 12,5 | 4 | 72 | 6,29 | 7,55 | — | 0 / 0 | 94,7 | +20,3 | 4:12 | 1* |
| Paris 23 | 37,7 | 6,0 | 3 | 25 | 6,15 | 7,12 | — | **11 / 6** | 86,1 | +34,3 | 4:24 | 0 |
| NY 23 | 71,2 | 17,1 | 6 | 171 | 7,29 | **7,01** | **3,6** | 0 / 0 | 104,0 | +33,9 | 4:00 | 2 |
| **Kbh 24** | 91,6 | 23,9 | 10 | 125 | 8,26 | 8,43 | 1,4 | 1 / 0 | 115,0 | +49 | 3:59 | 2 |
| **Berlin 24** | 86,6 | 25,3 | 8 | 159 | 8,35 | 8,19 | 2,9 | 0 / 0 | 109,2 | +37 | 4:10 | 0 |
| **Valencia 24** | 85,9 | 23,1 | 5 | 80 | 7,94 | 8,16 | −2,3 | 2 / 0 | 113,9 | +54 | 4:14 | 0 |
| London 25 | 82,4 | **25,6** | 7 | 131 | 7,95 | 8,57 | 0,3 | 1 / 0 | **100,0** | +32,8 | 4:04 | 0 |
| **Frankfurt 25** | **97,6** | 21,0 | **13** | **178** | 7,42 | **8,62** | 3,4† | **7 / 4** | 106,4 | +38 | **3:50** | 2 |
\ Valencia-22s tune-up (TOSK-HM) var B-innsats — nå ekskludert fra modellkalibrering (MOD-2). † Sommerblokk-decoupling er varme-konfundert (Frankfurt-turene i juli/aug: 5,4–8,3 %; siste 30k+ før taper: −0,35 %). Se funn F4.*
F1 — Plattform-terskelen er skarp og har aldri vært brutt: intet sub-3 under 85 km/u og CTL 106; ingen blokk over grensa har manglet plattformen. Høyeste dose uten sub-3: London 82,4 km/u / CTL 100 (falt på dagsform, ikke plattform — F7) og NY-23 71,2 / CTL 104 (falt på plattformen) → 3:09. Svakeste sub-3-blokk: Valencia-24 (85,9 km/u, CTL 113,9 — kort blokk på høy base). Spranget 71→86 km/u og 104→106+ CTL sammenfaller med spranget 3:09 → 2:59. Dose-korrelasjonene fra juli-analysen (km/u r=+0,92 mot formgevinst) peker samme vei: volumet bygger plattformen, og i dine data finnes ingen snarvei. Era-konfundering er reell (2024–25-blokkene er bedre på alt samtidig), men bruddet er for skarpt til å forklares bort.
F2 — Over plattform-terskelen slutter dosen å forklare noe; da tar realiseringen over. Innen sub-3-laget spenner dosen vidt (drag 108–323, kvalitets-km/u 21–25,3, CTL 106–115, taper +37…+54) — og utfallsforskjellene følger den ikke: København hadde tre ganger så mange drag og 9 CTL-poeng mer enn Frankfurt, men løp 6 min saktere. Det som faktisk skilte, var aerob effektivitet (samme fart på HR 162 i stedet for 173) og langtur-tetthet (13×30k+ mot 10). Og London — materialets høyeste kvalitets-dose (25,6 km/u, 368 drag) — leverte sub-3-lagets dårligste utfall. Blokk-KPI-ene er inngangsbilletten, ikke garantien.
F3 — De tre store underprestasjonene har tre ulike årsaker, og alle tre er målbare på forhånd. NY-23 (−3,2 %): materialets dårligste langtur-utførelse — LT-score 7,01, 30k+-decoupling 3,6 %, og de tre siste 30k+-turene skåret 7,2–7,8 med dcp opp til 5,4. Paris-23 (−1,2…−2,2 %): 11 sykedager, hvorav 6 siste seks uker. Valencia-22 (−1,9 %): åpnet for hardt («vondt fra 20 km») på blokkas svakeste race-uke-wellness (HRV 48, søvnscore 68) og grunn taper (+20,3). Trening som dose var ikke problemet i noen av dem — utførelse, sykdom og pacing var. Det er disse tre + London-dagsformen oppskriftens realiserings-del skal vokte.
F4 — v1-oppskriftens decoupling-krav («<2 % blokk-snitt») tåler ikke etterprøving; det som diskriminerer er de SISTE 30k+-turene. Frankfurt — beste maraton — hadde 3,4 % snitt-decoupling på 30k+ (juli/august-turene i varme: 5,4–8,3 %), og Berlin 2,9 %. Sesongen konfunderer blokk-snittet. Det som skiller rent: NY-23 er eneste blokk der ingen av de to siste 30k+-turene før taper hadde decoupling ≤1 % og score ≥8. Alle fire sub-3-blokkene passerer (Kbh −0,05/8,3 og −1,02/9,6 · Berlin −2,11/8,7 · Val-24 −1,42/9,1 · Frankfurt −0,35/8,8) — og London passerer også (−4,2/9,4), som er nettopp poenget: kravet fanger plattform-svikt (NY), ikke dagsform (London). v2 flytter derfor målingen fra blokk-snitt til taper-inngangen.
F5 — Pacing-disiplin er løst — men den ble løst av en mekanisme, ikke av modning alene. Fade-serien 2021→2025: +5,1 (Oslo) og +2,0 (Val-22, «for hardt ut») i tidlig æra; deretter +1,9 (NY, bevisst aggressiv); så — fra og med første TOSK-tog i København — +0,5, +1,7 (mage, ikke pacing), +0,3, −0,7. Alle fire løpene med gruppe-disponering fra start (Kbh, Val-24, Frankfurt, delvis Berlin solo-på-plan) ligger innenfor ±1,7 %. Frankfurts åpning (km 1 på 4:20 mot snitt 4:06) er malen: konservativ første km, MP-lås, alt fra km 35. London bryter ikke mønsteret — «tungt fra start» er dagsform, ikke disponering (en som åpner for hardt sprekker sent, ikke fra km 1).
*F6 — Mage/fylling er sub-3-æraens største enkelthendelses-risiko — og den eneste som nesten kostet et mål uten forvarsel.* Berlin km 27–30: «voldsomt mageknip», ~3 km fartsfall, sub-3 berget med 26 sek. NY: krampe-fare («hårfint unna») i mild varme — elektrolytt/fylling plausibel medvirkende. Frankfurt — eneste løp med dokumentert strategi (5–6 gels, Maurten 320 før start, øvd på langturene) — hadde null GI-trøbbel og negativ split. Alt før 2024 er udokumentert. Wellness/HRV varsler ikke GI (Berlin hadde blokkas beste taper-wellness: HRV 73, søvnscore 90 uka før). Eneste forsvar er trening: fyllingen må øves på L4-turene til den er race-sikker. `fueling_log.json` (85–90 g/t-KPI) står klar men er tom — Amsterdam-blokka blir første med data.
F7 — Race-eve/dagsform: ukesnitt lyver, dag-før-signalene gjør ikke. London hadde grønne ukesnitt (HRV 66,7, RHR 38,9, søvn 82,7) og ryddig taper (+32,8) — og kollapset. De signalene som historisk har truffet: dag-før-HRV ≥10 % under 4-ukers baseline (3/3 under prediksjon — Paris −25,6 %, Sommernattsløpet, Nidaros-25), sykdom siste 14 døgn (Paris, Frankfurt: −1,0…−2,4 %), postM-vinduet (komplett mønster på 10k). Det er MOD-5-flagget på prediksjon.html — syntesen bekrefter at det er riktig arkitektur: flagg og sikt mot nedre CI, aldri flytt punktet. London-residualen (~+13 % over enhver modell) er samtidig ærlig-sonen: en slik dag kan ikke prises, bare gjøres sjeldnere (søvn-rutine siste 2–3 netter, reise-logistikk, smittevern — og et tune-up som varsellampe: London manglet det).
F8 — Vær: alle PB-er ligger i 7–12°-vinduet; varme er ikke motbevist som London-bidragsyter, men den er ikke hovedhistorien. Racesnitt-temperaturene: sub-3-laget 7,3–11,9°; alle øvrige unntatt de to varme lå 8,4–14,3. De to varme: Barcelona 18,5° (holdt igjen, HR under LT1, «fin opplevelse») og London 16,8°/maks 19,2 i sol. At Barcelona gikk fint ved 18,5° er grunnen til at heat-prioren har terskel 15° — men Barcelona ble løpt på 4:49/km med stor reserve; termoregulering ved sub-3-intensitet er en annen sport. Londons lave HR (150,9) utelukker ren varmestress som hovedårsak; varmen var trolig forsterker, ikke utløser. Vind: Frankfurt (6,4 m/s) kostet 30–50 sek — og ble håndtert (gruppe, WGAP-ro); Paris (6,1 m/s) i tillegg til alt annet. Regelen fra plan §5 står seg: >16° → +3–5 s/km fra start; og fortsett å velge kalde løp — det har du nesten alltid gjort (9 av 11 under 15° racesnitt).
§2.9-seriene på tvers gir den reneste utviklingshistorien i materialet — avviket mellom kort-distanse-Riegel (eksp. 1,06) og faktisk maratontid:
| År | Løp | Prediktor | Riegel-ekv. | Faktisk | Avvik |
|---|---|---|---|---|---|
| 2021 | Trondheim | HM 1:33:45 | ~3:15:30 | 3:30:07 | **+15 min** (reell eksponent ~1,14) |
| 2022 | Valencia | HM 1:29:16 (B) | ~3:07:30 | 3:14:23 | +6–7 min |
| 2023 | NY | 10k 39:26 / HM 1:27:52 | 2:57:37 / 3:02:15 | 3:09:02 | +11 / +7 min |
| 2024 | København | 10k 38:38 | 2:57:43 | 2:59:11 | +1,5 min |
| 2025 | Frankfurt | 10k 37:24 / HM 1:24:24 | 2:53:40 / 2:57:10 | 2:53:06 | **−0,5 / −4 min** |
Krysningen skjer mellom NY-23 og Kbh-24 — nøyaktig der langtur-KPI-ene krysser oppskrifts-nivå (6→10 ×30k+, LT-score 7,0→8,4, 71→92 km/u). «Carl-konstanten» (maraton ≈ 10k-Riegel) er altså ikke en konstant — den er et modenhets-sertifikat som gjelder så lenge langtur-plattformen vedlikeholdes. Dagens modell-k på 1,093 er gjennomsnittet over hele reisen; i moden tilstand er den effektive eksponenten mot 10k ~1,06. Praktisk konsekvens for høsten: Energimila er sub-2:50-sjekkpunktet — eksakt Riegel-1,06 gir 36:57 → 2:49:59 og 37:00 → 2:50:12. Planens sub-37-mål og sjekkpunktet er altså i praksis samme strek (13 sek skiller); løper du 36:5x 12. august med intakt langtur-trapp bak deg, sier hele historikken at 4:01/km i Amsterdam er innenfor — og modellen venter 35:54 (P75 for sub-37). (10k-en ligger T−9,5 uker — lengre ut enn ideal-vinduet 4–6 uker; København HM T−4 uker er near-ankeret som lukker gapet, jf. FRAMEWORK-rekkefølgen.)
Konfidens-skala: A = konsistent i ≥4 blokker + mekanisme + LOO/back-test-støtte · B = 2–3 observasjoner eller konfundert (era/sesong) · C = n=1 eller hypotese — føre-var.
| # | KPI | Krav (grønn) | Konfidens | Evidens |
|---|---|---|---|---|
| P1 | Ukevolum | **≥85 km/u snitt** i bygget | **A** | 4/4 sub-3 ≥85,9; beste under (71,2) ga 3:09. r=+0,92 mot formgevinst. |
| P2 | Peak CTL | **106–115** | **A** | Skarpt brudd 104→106. Kollineær med P1 — de er ett krav i praksis. |
| P3 | Langturer ≥30 km | **≥5, mål 8–13** | **A** (nødvendighet) / **B** (13 > 8) | Sub-3: 5–13. Frankfurt-13 var motoren — men med 7 sykedager; 8–10 à la Kbh/Berlin er trygg sone. Antall alene beviser ingenting: NY og Trondheim hadde 6. |
| P4 | Langtur-utførelse | **De to siste 30k+ før taper: minst én med decoupling ≤1 % OG score ≥8** | **A** | Eneste KPI som skiller NY-23 fra alle sub-3-blokkene (F4). Erstatter v1s blokk-snitt-krav, som Frankfurt selv strøk på (sesong-konfundert). |
| P5 | MP-km på langtur | **≥80, mål 120–180 — utført kontrollert** | **A** for ≥80, **B** for «mer er bedre» | Sub-3: 80–178. NY-motbeviset: 171 MP-km med dcp 3,6/score 7,0 → −3,2 %. Kravet er MP-km × P4, aldri MP-km alene. |
| P6 | Kvalitets-km | **21–25 km/u**, terskel-forankret (sub-3-lagets drag-snitt 3:50–4:14; Val-24s 4:14 er mølle-deflatert) | **B** | Alle sub-3 hadde det — men London (25,6) også. Plattform-KPI, ikke prediktor. Mer enn 25 har aldri gitt gevinst (Kbh 323 drag < Frankfurt 142 i utfall). |
| P7 | Øktscore-snitt | **≥7,5** | **B** | Sub-3: 7,4–8,4; utviklingsblokkene 5,4–7,3. Diskriminerer æra mer enn utfall; reskår-drift gjør terskelen myk. |
| P8 | Sykedager | **≤2 siste 6 uker; ved 2 HRV-svake morgener på rad ryker PM-økta, aldri søvn/langtur** | **A** | 0 siste-6-uker i alle løp som slo modellen; 4–6 hos Paris/Frankfurt (−1,0…−2,4 %). Frankfurt-dosen (98 km/u) ga 7 sykedager — 2024-dosen var like rask og frisk. |
| P9 | Taper | **TSB +30…+40 med CTL-tap ≤8** (dyp +49/+54 fungerte, men kostet 15 CTL-poeng uten gevinst) | **A** på retning (positiv TSB: 4/4 sub-3 ≥+37; svakeste readiness-løp var +19,5/+20,3) · **B** på eksakt vindu | Frankfurt-modellen (kort/frisk, CTL bevart) er malen. HRV-CV skal falle gjennom taper (r=−0,82, n=7 → **B**). |
| P10 | Tune-up | **10k (helst) 4–6 uker ut — obligatorisk** | **A** som prediktor (Kbh/Frankfurt: treff ±1,5 min), **B** som risiko-detektor | 3 av 4 blokker uten tune-up ga overraskelser (Berlin-mage unntaket ingen test fanger). Aldri 10k-A-innsats 15–45 d etter maraton (postM: komplett mønster, −1,4…−7,7 %). |
| # | KPI | Krav | Konfidens | Evidens |
|---|---|---|---|---|
| R1 | Åpning | **Første 5 km: mål-MP +5–10 s/km; aldri raskere enn mål-MP før km 8** (Frankfurt: km 1 på 4:20 mot 4:06-snitt) | **A** | Fade-serien (F5): alle fire disponerte løp ≤+1,7 %; begge tidlige «for hardt ut» kostet 2–5 %. |
| R2 | Gruppe | **Løp i tog der det finnes** (TOSK-tog Kbh/Val-24/Frankfurt) | **A** | Alle tre gruppe-løpene: fade ≤+0,5 %. Mekanisme: fjerner impuls-feilen R1 vokter. |
| R3 | HR-profil | **Åpne 155–160, kjerne i I3 (160–169), I4 først fra km 38** | **B** | Frankfurt-malen. Motbevisene: NY/Kbh over LT2 hele veien = taket brukt opp; Paris på LT2 = plattformen for lav. (HR-artefakter: valider mot LT1-plausibilitet før tolkning.) |
| R4 | Fylling | **85–90 g karbo/t + koffein-plan, øvd på ALLE L4-turer til race-sikker** (logges nå i fueling_log) | **B** (tallet) / **A** (at det må øves) | F6: Berlin-knipet nesten kostet sub-3; Frankfurt med innøvd plan gikk rent. Tallet 85–90 er litteratur + én suksess — dataene kommer i høst. |
| R5 | Race-eve-flagg | **Sjekk prediksjon.html kvelden før: HRV ≥10 % under baseline / sykdom <14 d / postM → sikt nedre CI** | **B+** | 3/3 historiske HRV-flagg → under prediksjon; LOO-validert som flagg, forkastet som justering. |
| R6 | Dagsform-hygiene | **Søvn-rutine siste 2–3 netter (Frankfurt race-eve 6,2 t var i minste laget), reise-logistikk planlagt, smittevern siste 10 d** | **C** | London-hullet: årsaken ble aldri identifisert — dette er føre-var-laget, ikke målbart ennå. Dag-for-dag-logging rundt race (nå på plass) gjør neste avvik diagnostiserbart. |
| R7 | Vær-respons | **>16° racesnitt → +3–5 s/km fra start; vind >5 m/s → gruppe + WGAP-ro (Frankfurt-malen)** | **B** | F8: alle PB 7–12°; Barcelona viser at reserve redder varmedager, London at varme + dagsform ikke skal utfordres. |
| R8 | Etter målgang | **Immunvakt 72 t / null kvalitet 3–5 d** | **A** | To lange forkjølelser kom rett etter race (bl.a. Frankfurt 27.10→05.11, severe); Paris/Frankfurt-blokkene viser hva sykdom koster neste syklus. |
Full etterlevelse av lag 1+2 har historisk levert −1,0…+0,5 % mot modellen (de fire sub-3-løpene), og M-intervallet er empirisk [−2,4, +1,4] % (MOD-3). Utenfor det ligger kun hendelser: GI (Berlin — øvbar, R4), og dagsform-kollaps (London — ~+13 %, én gang på 11, ikke prisbar). Regn med det slik: P(oppskrift fulgt → innenfor CI) er høy og kalibrert; halen er tynn, men den finnes, og den flyttes bare av R4–R6-disiplin — ikke av mer trening.
Planen (`Running_Brief_Blokkplan-Amsterdam_v2.md`) treffer v2 nesten overalt: snitt ≥85 ✓ (peak 108–110, bevisst under Frankfurt-dosen — riktig per P8), langturtrapp 28→36 gir 5×30k+ ✓ (nedre kant av P3 — bevisst sykdoms-trade; hold utførelsen (P4) hellig når antallet er minimum), MP-generalprøver T−15/T−8 ✓, immunvakt ✓, HRV-gate ✓, taper mot positiv TSB ✓, tune-ups ✓ (Energimila = sub-2:50-sjekkpunktet, §4; Kbh HM = near-anker T−4 u). To skjerpinger fra syntesen: (1) MP-km: planens «80+» er gulvet — sikt 120–150 samlet (36-km-turen m/ 3×6 MP + 26 m/ 12 MP + L4-blokkene i u34–36 gir anslagsvis 100–140 hvis alle leveres; prioriter disse øktene over alt annet ved konflikt). (2) P4-porten før taper: de to siste 30k+ (u40–41) må levere ≤1 % decoupling / score ≥8 — hvis ikke, er det Amsterdam-pacingen som justeres (mot 2:52-scenario), ikke treningen som forseres. Det er NY-leksen omsatt til regel.
n = 11 løp / 4 sub-3 — alle terskler er rangeringer med skarpe brudd, ikke kausale bevis. Era-konfundering: 2024–25-blokkene er bedre på nesten alt samtidig; dose-funnene (P1–P3) arver den svakheten, sykdoms-/utførelses-/pacing-funnene (P4, P8, R1) virker innen æra og står støere. Reskår-drift: øktscore/LT-score er skåret om siden juli-tabellen (avvik ±0,2; Kbh-decoupling reproduseres eksakt med 30k+-metoden, Frankfurt ikke — trolig re-skåring). Kildekonflikt funnet: Frankfurt-sidens «ingen sykdom siste 21 d» stemmer ikke med illness_periods (mild 2-dagers 18.–19.10, T−8) — juli-rapportens «2 siste 14 døgn» er den riktige lesningen. GPS-splits (§1) er rekonstruert for 8 av 11 løp (offisielle matter kun NY/Kbh/Val-24/Frankfurt-æraen); Trondheim er ubrukelig. Riegel-tallene i §4 er sitert fra §2.9-kildene; kontrollregning viser at Frankfurt-sidens to ekvivalenter avviker ~1,5 min fra eksakt 1,06-formel (eksakt: 10k 37:24 → 2:52:03, HM 1:24:24 → 2:55:58 — de øvrige sidene regner riktig). Konklusjonen står uansett (moden æra: 10k-Riegel innenfor ~±1,5 min), men sjekkpunkt-regnestykket for Energimila bruker eksakt formel. London-analysen kan aldri lukkes helt: årsaken er og blir ulogget — det eneste etterprøvbare svaret er R5/R6-disiplin og dag-for-dag-logging rundt fremtidige race. Og den største enkeltusikkerheten for sub-2:50: ingen av de 11 løpene er løpt på 4:01/km — oppskriften ekstrapolerer ~5 s/km forbi Frankfurt. Riegel-sjekkpunktet (Energimila) er designet for å teste akkurat dét før det koster noe.
Dato: 2026-07-06 · Skrevet av: Claude (Fable, FABLE-5 fra TODO-spec-banken) · Grunnlag: alle 21 kortdistanse-løp (11×10k + 10×HM) via `Races/*_data.json` (1000m-laps, komplett etter RACE-1 05.07), `race_predict_model.json` (LOO T-14 post-MOD/B2/B6 + `excluded_residuals`), `race_weather.json` (tidsvektet), `race_model_features.json` (T-14-snapshots), `training_load.json` (TSB-pre = dag-før-raden), `wellness.json` (morning_snapshot), Analyser-md (EnergiMila v2, Trondheim HM v1, Berlin HM v8, Sommernattsløpet v1, Nidaros-24 v1), `Analyser/race_deep/2026-03-29_BerlinHM.md`, light-sidene, og `Running_Report_Tverrmaraton-Syntese_v1.md` §4 (Riegel-modenhet) som anker.
Hva dette er: Søsteranalysen til tverrmaraton-syntesen — alle korte løp lest på tvers med én målestokk. Den svarer på spec-spørsmålene: hva skiller gode fra dårlige korte dager, Nidaros-25-gåten, hvorfor 10k «er» modellens svakeste kategori, Energimila-realiseringsplanen (sub-2:50-sjekkpunktet 36:57, 12.8, T−9,5 u til Amsterdam), og sub-1:20-oppskriften for København HM (20.9, T−4 u).
Metode-noter: (1) «vs modell» = LOO T-14 fra dagens `race_predict_model.json` (negativt = løp tregere enn modellen ventet). Ekskluderte løp (effort_b/trail/sosialt) viser `excluded_residuals`-verdien i parentes — de er aldri sett av fitten. (2) Åpning = km 1 fra 1000m-laps mot løpets snitt, og mot LOO-predikert pace der den finnes («bærekraftig»). (3) Fade = snitt-pace 2. halvdel vs 1. (midt-km ekskludert ved odde antall) — avviker metodisk fra kildeanalysenes km-bånd, retning er identisk. (4) TSB-pre = raden dag-før i training_load (POST-bug-regelen §4.3; Berlin-HM-v8s «TSB +4,2 race-day» er race-dags-raden og skal leses som post-verdi — dag-før var +25,0, som race_deep-pakken sier). (5) Laps er GPS-rekonstruert og skalert til offisiell distanse; kun de store byløpene har matter. Nidaros-22 målte 9,55 km — pace-tallene der flatterer.
| # | Løp | Tid | vs modell (T-14) | Åpning km 1 (vs snitt) | Fade | Vær (racesnitt) | dsm | Definerende |
|---|---|---|---|---|---|---|---|---|
| 1 | Tordenskiold 2020 (solo) | 43:42 | (B-innsats: +3,0) | −0,4 | −1,5 % | 8,7° · 3,0 | — | Solo-testløp, sub-45-mål. |
| 2 | Høst-10k 2020 | 42:07 | +0,2 | −4,5 | −1,2 % | 8,8° · 2,8 | — | PB −2 min. |
| 3 | Nidaros 2022 | 39:48 | −0,6 | −4,0 | +2,0 % | 14,6° · 3,4 | **13** | 13 d etter Barcelona. Kort løype (9,55). |
| 4 | Tordenskiold 2023 | 41:26 | +1,5 | −6,8 | +4,3 % | 13,6° · 4,8 | 37 | Kupert (km-er med +25 hm) — fade er terreng. |
| 5 | Nidaros 2023 | 39:58 | **+1,8** | +1,8 | −0,7 % | 8,6° · 5,0 | 62 | Første sub-40. Jevn, 3:50-avslutning. |
| 6 | Oslo 10k 2023 | 39:26 | −0,7 | −1,4 | −0,2 % | 13,0° · 2,8 | 167 | PB. Dødsjevn. |
| 7 | 10k bane 2024 | 38:38 | −1,2 | −1,6 | +1,8 % | 4,4° · 1,3 | 138 | PB midt i blokk (TSB-pre +2,3). |
| 8 | Nidaros 2024 | 39:25 | +0,3 | **−11,6** | +6,9 % | 15,7° · 1,7 | **20** | Åpnet 12 s/km over bærekraft; postM-dummy «reddet» residualen. Score 4,4. |
| 9 | Nidaros 2025 | 40:54 | **−4,7** | **−21,3** | **+10,9 %** | 6,0° · **5,9** | **27** | Gåten — se §3. |
| 10 | Sommernattsløpet 2025 | 38:25 | +1,2 | +0,1 | −1,1 % | 11,1° · 2,3 | 41 | PB 6 u etter London — med HRV-flagg dag-før (−25,6 %). |
| 11 | **EnergiMila 2025** | **37:24** | **0,0** | +2,3 | −0,7 % | 16,9° · 1,1 | 108 | PB −1:01. Jevn 3:47 + 3:36-avslutning. Modell-treff på sekundet. |
| # | Løp | Tid | vs modell (T-14) | Åpning km 1 (vs snitt) | Fade | Vær | Definerende |
|---|---|---|---|---|---|---|---|
| 1 | Trondheim HM 2019 | 1:44:42 | −3,9 | +7,8 | −4,7 % | 10,4° · 1,2 | Debut. Modellen kjenner ikke 2019-plattformen. |
| 2 | Solo-HM 2020 | 1:42:05 | −1,1 | +2,9 | −3,6 % | 7,6° · 1,9 | «All out med tunge bein», TSB-pre −15. |
| 3 | Familiehalv 2020 | 1:44:02 | (sosialt: −4,8) | +2,8 | −2,1 % | 12,0° · 5,8 | Ekskludert (sosial). |
| 4 | HM okt 2020 | 1:36:07 | −2,2 | −1,0 | 0,0 % | 6,0° · 3,9 | PB −6 min. |
| 5 | HM 2021 | 1:33:45 | −0,4 | +0,1 | +1,4 % | 16,7° · 3,4 | Fra TSB −50 (T−14) til +11 på dagen — overload→rebound. |
| 6 | Skogsmaraton 2021 (HM-trail) | 1:56:04 | (trail: −20,6) | — | +12,0 % | 14,4° · 4,2 | Terreng/+494 hm. Ekskludert, selvforklarende. |
| 7 | TOSK-HM 2022 | 1:29:16 | (B-innsats: +4,3) | +6,5 | −1,5 % | 8,8° · 5,2 | B-løp i TOSK-følge — likevel raskere enn modellen. |
| 8 | Trondheim HM 2023 | 1:27:49 | +0,3 | −1,0 | −2,2 % | 14,7° · 2,6 | PB på dyp taper (TSB-pre +36). HR-sensorfeil. |
| 9 | **Trondheim HM 2025** | **1:24:24** | −0,8 | +7,8 | −2,6 % | 15,8° · 2,6 | PB. −8,1 s/km halvdels-split — «for konservativ start» (Carls egne ord). |
| 10 | **Berlin HM 2026** | **1:21:19** | **+1,6** | +4,4 | −1,5 % | 6,8° · 3,8 | PB, sweet-spot-eksekvering (8,9): 95 % I3, aldri I4, finish 3:30. |
To klynger per kategori: på 10k skiller åpningen rene løp (±3 s/km på km 1 → alle innenfor ±1,8 % av modellen) fra sprekkene (−10…−21 s/km → de to eneste fadene >6 %). På HM er negativ split husstilen (alle moderne HM −1,5…−2,6 % fade) og begge PB-ene åpnet 4–8 s/km konservativt. Merk at 7 av 11 10k er løpt i mai/juni — og alle tre Nidaros-startene ligger i postM-vinduet (13/20/27 d). Det er ikke en løype-forbannelse, det er terminlista.
K1 — Åpnings-kilometeren er den sterkeste enkelt-diskriminatoren i hele kortdistanse-materialet. Målt mot LOO-predikert («bærekraftig») pace: alle rene 10k åpnet innenfor −3…+2 s/km (Nidaros-23 −2, Bane-24 +1, Sommernatt −3, EnergiMila +2, Berlin HM +1) — begge sprekkene åpnet −10…−12 (Nidaros-25: 3:44 på km 1, EnergiMila-PB-pace tre måneder før EnergiMila-formen). På flat løype har hvert eneste rene 10k siden 2023 hatt flat-til-negativ fade (−0,2…−1,5 %); hver fade >+4 % har en navngitt årsak (terreng Tordenskiold-23, postM Nidaros-24, kollaps Nidaros-25). Trondheim HM-25 viser samtidig motsatt grøft: +10 s/km for konservativ åpning kostet ~1 min (v1-analysens eget regnestykke). Regelen er symmetrisk: km 1 = målpace ±3 s/km.
K2 — Fade-profilen ved 10k-intensitet er binær, ikke gradvis. De rene løpene ligger 3–5 s/km i «lomma» hele veien og lukker 5–10 s/km raskere siste km (Nidaros-23: 3:50-finish; EnergiMila: 3:36; Sommernatt: 3:47). Sprekkene holder først skjemaet — Nidaros-25s første 6 km snittet 3:54,3, eksakt LOO-predikert pace — men frontlastet (km 1 3:44), og betaler så +28 s/km over siste 4 km (4:17–4:25–4:22–4:27). Ved 10k-intensitet finnes ingen mellomting: enten holder du, eller så koster hver banket sekund tredobbelt etter km 6–7. HM fader mykere (Trondheim-19 og Solo-20 hadde negative split-tall men −3,9/−1,1 % mot modellen — der var det plattformen, ikke disponeringen).
K3 — Taper-behovet er distanse-asymmetrisk: 10k-PB-ene kom UTEN taper, HM-PB-ene MED. EnergiMila-25: TSB-pre −6,2 med 101,5 km siste 7 døgn — PB og modell-treff 0,0. Bane-24-PB: TSB +2,3 / 89 km. Sommernatt-PB: +13 / 76 km. HM-PB-ene: Berlin +25,0 (ATL/CTL-fall 5:1, «lærebok» per v8), Trondheim-25 +17, Trondheim-23 +36 (dyp). 10k tåler — kanskje foretrekker — full treningsuke på høy plattform; HM vil ha ekte nedtrapping. Det rimer med modellens `10k-terskeldose`-feature (β +0,010 i dagens fit): høy fersk terskel-last er en ferskhets-straff på dagen, men den er liten — og volumet i seg selv har aldri kostet et 10k-løp i materialet. (Konfidens B: n=2–3 per celle, men entydig retning + mekanisme.)
K4 — Vind-sårbarheten på 10k er i hovedsak priset ferdig etter B2 — restrisikoen er interaksjonen vind × åpning. LOO-residual mot vind for de ni rene kalibrerings-10k: r = +0,64 — altså svakt positivt; de to nest-vindigste (Nidaros-23 5,0 m/s, Tordenskiold-23 4,8) slo modellen med +1,8/+1,5 %. Modellen tar om noe litt for mye betalt for moderat vind nå. Det som gjenstår er halen: Nidaros-25 (5,9 m/s + yr + føles-som 0°) er materialets eneste vind-katastrofe, og den ble utløst av åpningen (K1), ikke av vinden alene — vinden bestemte prisen på feilen. Kvadratisk vind-form står riktig parkert til flere >6 m/s-løp finnes (PREDICTION_MODEL §9).
K5 — Dag-før-HRV-flagget (MOD-5) diskriminerer IKKE på kortdistanse. Replikert med race_outlook-formelen eksakt (HRV dag-før vs snitt dag 2–29, flagg ≤−10 %): flagget fyrte foran tre moderne kortløp — Nidaros-25 (−18,1 % → −4,7), Sommernattsløpet-25 (−25,6 % → +1,2, PB) og Berlin HM-26 (−17,5 % → +1,6, PB). 1 av 3. Nidaros-24 (−9,0) lå rett utenfor terskelen → +0,3. Maraton-fasiten (Paris) står, og «sikt nedre CI»-rådet er fortsatt riktig der — men på 10k/HM ville rådet kostet to PB-forsøk. Fysiologien er plausibel: 38–85 min på/over LT2 er langt mindre avhengig av autonom ferskhet enn tre timer på LT1 med glykogen- og termoregulering. Tverrmaraton-syntesens F7-formulering («3/3 under prediksjon», inkl. Sommernatt) reproduseres ikke post-refit — Sommernatt er +1,2 i dagens LOO. Forslag (Carl-beslutning, ingen kode endret): gjør flagg-ordlyden på prediksjon.html distanse-avhengig — M: dagens råd; 10k/HM: informasjonslinje («historisk uten prediksjonsverdi alene på kort distanse — sjekk postM/vind/åpningsplan») . postM- og sykdom-14d-flaggene beholdes uendret for alle kategorier.
K6 — Kvalitets-speilet er kortdistansens form-markør: snitt-drag-pace i blokka ≈ HM-race-pace. Berlin-blokka (race_deep): 209 drag, snitt 3:48/km på arbeids-HR 139–147 → race 3:51 på HR 162. Drag-farten speiler racefarten nesten eksakt, på ~20 slag lavere puls — det er automatisert fart, ikke maksuttak. Målbart fremover: for Kbh 3:47 bør sein-blokk-dragsnittet ned mot 3:43–3:45; for Energimila 36:5x bør I4-øktenes 1000-metere ligge 3:38–3:42. (Konfidens B — én blokk med full dokumentasjon, men mekanismen er den samme som gjorde 10k-terskeldose og LT2-økt-pace til modell-features.)
Spørsmålet var om −4,7 % tross postM-flagg er dagsform à la London eller et mønster. Svaret er: et komponert, målbart uhell — ikke London. Fire bidragsytere, alle synlige før eller under start:
1. postM-vinduet (27 d etter London) — modellen priset det (+3,5 % med dagens β 0,034; +4,2 % ved MOD-1-innføringen), så −4,7 er på toppen av postM-justeringen.
2. Materialets verste 10k-forhold: 5,9 m/s tidsvektet (27 km/t i kast per light-siden), yr, føles-som 0°. Vind-featuren tok sitt, men K4-interaksjonen — å frontlaste i motvindsløype — er ikke priset.
3. Åpningen: km 1 på 3:44 = −10 s/km under bærekraftig (3:54), som er nøyaktig EnergiMila-PB-pace han nådde først i august. Første 6 km snittet 3:54 (riktig!), men frontlastet — siste 4 km kostet +28 s/km mot bærekraftig. Selvforskyldt og identisk med Nidaros-24-mønsteret (−12 s/km åpning, fade 6,9 %).
4. Dagsform-komponenten: HRV dag-før −18 % (reelt flagg denne gangen), «ikke dagen i dag heller», og løpet ble avskrevet mentalt underveis (Carls notat). Pulsbeltet sviktet i kulda (snitt 130 — fysiologisk umulig; RACE-HR-1 står i TODO), så effort kan ikke verifiseres.
Mot London-testen: London var «tungt fra start» med lav HR og jevnt forfall — upprisbar dagsform. Nidaros-25 fulgte skjema i 6 km og knakk der frontlastingen + vinden forfalt — et pacing-forløp, ikke et kollaps-forløp. Konklusjonen er optimistisk: alle fire bidragsyterne er unngåelige eller kjente (BLK-2 verner mot 1, RE-reglene i §5 mot 2–3; 4 var ekte, men alene har den aldri kostet mer enn ±1,5 % på kort distanse, jf. K5). Fjorten dager senere: PB. Formen var der hele tiden — akkurat som light-siden konkluderte, men nå med splits som bevis.
Løpene — nærmere bestemt ETT løp og én æra. Og premisset er allerede foreldet. Spec-tallene (σ 1,8, CI [−5,6, +3,3]) er fra MOD-3-runden 03.07; dagens fil (post-B2/B6 05.07) sier 10k σ 1,82 / CI [−4,62, +1,71] — og HM er nå svakeste kategori på σ (2,25). Dekomponert på T-14:
(σ under = populasjons-σ på T-14-settet alene; filas `sigma_pct` (10k 1,82 / HM 2,25 / M 1,37) er beregnet over alle horisonter og brukes av CI-ene.)
| Kategori | n | snitt | σ (T-14) | Uten én outlier |
|---|---|---|---|---|
| 10k | 10 | −0,20 | 1,75 | **uten Nidaros-25: +0,29 / σ 0,97** — modellens strammeste kategori |
| HM | 7 | −0,93 | 1,63 | 2023+: +0,3/−0,8/+1,6 · pre-2023: −3,9/−1,1/−2,2/−0,4 |
| M | 10 | −0,55 | 1,36 | — |
10k-«svakheten» er én venstre-hale-hendelse av en identifiserbar og (nå) regelbeskyttet type (postM × vind × åpning). HM-svakheten er 2019–20-æraen, der modellen systematisk over-predikerer fordi anker/features ikke kan se hvor tynn plattformen var — et data-, ikke modellproblem, og det tynnes naturlig ut etter hvert som moderne HM-er akkumulerer. Den asymmetriske CI-en gjør allerede jobben sin: halen er ekte (man kan sprekke −5 %, aldri overprestere +5 %), og den skal prises, ikke fittes. Ingen modellendring anbefales — kun MOD-5-nyansen fra K5. B6-vaktene bekrefter seg selv (effort_b +3,0/+4,3 = B-løp går fortere enn A-kalibrert modell venter; trail −20,6; London −11,4).
Strekene: 36:57 = eksakt Riegel-1,06 mot Amsterdam 2:49:59 (maraton-syntesen §4/§7). Sub-1:20-broen: ren Riegel krever 10k ≤ 36:15, men Carls egen 10k→HM-eksponent er 1,041 (EnergiMila → Berlin HM, chip) → ≤ 36:46. Én augustkveld, to sjekkpunkter: 36:5x kvitterer maraton-streken, 36:4x kvitterer i praksis begge. Dagens outlook: pred 35:52, P(sub-37) = 75 % — målet ligger altså under modellens forventning; dette er en realiserings-, ikke en kapasitetsplan. postM-fritt ✓ (290 d siden Frankfurt).
| # | Regel | Krav | Konfidens | Evidens |
|---|---|---|---|---|
| RE1 | Åpning | **Km 1 = målpace ±2 s (3:40–3:44). Aldri under 3:38.** | **A** | K1: ±3 → alle rene; −10/−12 → begge sprekker. |
| RE2 | Profil | **Lås 3:41–3:43 til km 7, alt fra km 8. Fade-mål ≤ 0 %.** 5k-pass 18:25–18:30 (underveis ryker 5k-split-PR-en 18:38 — planlagt, ikke signal om å henge på). | **A** | K2: alle rene 10k lukker 5–10 s/km raskere siste km. EnergiMila-25-malen. |
| RE3 | Ingen taper | **Hold uka (u32) normal; lett dag-før holder.** Ikke kopier HM-taperen. | **B** | K3: PB på TSB −6 / 101 km-uke. Terskeldose-straffen nulles av 2–3 lette døgn. |
| RE4 | Siste harde økt | **Full terskel senest T−5 (fre 7.8); T−2 kun strides.** | B | K3-mekanismen (ferskhet, ikke fitness); Berlin-blokkas siste-uke-mønster. |
| RE5 | Vær-gate | **>5 m/s: bytt til even-effort (WGAP-ro), aldri jag km-tider i motvind.** Varme er ikke-tema: 19-start målte 16,9°/1,1 m/s i 2025; >15° koster 0,15 %/° (prior) ≈ 2–3 s totalt. | **B** | K4: vinden priser åpningsfeil, ikke jevn innsats. Frankfurt-malen. |
| RE6 | Race-eve | **Søvn ≥ 8 t (Berlin 8,4 ✓, Frankfurt 6,2 ✗). HRV-flagg alene = info, ikke måljustering (K5). Reelle flagg: sykdom <14 d, vind, postM.** | B | K5: 2 av 3 kortdistanse-flagg foran PB-er. |
| RE7 | Verktøy | **A9-generatoren (`Races/pacing_energimila.html`) mates med 36:50-mål + RE1/RE2-låsene.** Beltet sjekkes i kulde/regn (Nidaros-25-lærdommen, RACE-HR-1). | — | Operativt. |
Gapet fra 37:24 er 27 s (2,7 s/km), og verktøyene er allerede i planen: terskel-progresjonen u29–32 (Kbh-blokka bygger samtidig, K6-speilet: I4-1000-metere på 3:38–3:42), varme-returen fra Italia (kvantifiseres i FABLE-4-rapporten — utladningen hjemme u29–30 er innenfor vinduet), og en åpningsdisiplin som allerede var ren i 2025. Løpet skal bekrefte, ikke skape, formen — nøyaktig som modellens 35:52 sier.
Gapet: 1:21:19 → 1:19:59 = 80 s = 3,8 s/km (3:51 → 3:47). Berlin-fasiten sier hvor de bor:
| # | Kilde | s/km | Konfidens | Evidens |
|---|---|---|---|---|
| S1 | **LT2-løftet** | 2–3 | **B+** | Berlin ble løpt PÅ lab-LT2 (3:49/3:51). Berlin-blokk-dosen (80 km/u × 12 u, 22,1 kval-km/u, 209 drag à 3:48) flyttet LT2 fra ~3:55 (2024) til 3:49 (lab 24.02). Samme dose-klasse ligger i u29–37-planen; lab-retest aug/sep (planlagt, PREDICTION_MODEL §9) verifiserer. Uten S1 betyr 3:47 å ligge *over* terskel i 80 min — mulig, men da må alt annet klaffe. |
| S2 | **I4-billetten** | 1–1,5 | **B** | Berlin: 95 % I3, **0 % I4**, siste km 3:42, finish-stykket 3:30, decoupling −4,2 % — reserven er dokumentert, ikke antatt. Kbh-planen: I4 tillatt fra km 15–16 (Trondheim-25 hadde 15 % I4 og tålte det). v8 sier det samme: «sub-1:20 krever nær 100 % av plattformen». |
| S3 | **Taper-repetisjon** | 0,5–1 | **B** | Berlin-malen: TSB-pre +25, ATL/CTL-fall 5:1, søvn 8,4 t. HM er taper-sensitiv (K3) — dette er gratis fart hvis den gjentas, tapt fart hvis ikke. |
| S4 | **Forhold** | 0–1 | **C** | Berlin: 5,7°/3,4 m/s, vind-kost ~1 s/km (v8s WGAP-regnskap → «vindfri» 1:20:57). Kbh september: flatt, typisk 12–15°; 2024-M-dagen der blåste 3,7 m/s — vind-gate som RE5. |
| S5 | (Vekt) | (1,5–2 per kg) | **C** | v8s Stellingwerff-anslag. IKKE et krav — kun hvis det skjer uten kraft-tap; S1–S4 dekker gapet uten. |
Midtpunkt-sum S1–S4 ≈ 4–6 s/km mot et behov på 3,8 — sub-1:20 er dekket med margin hvis terskelblokka leveres og dagen disponeres etter husstilen (åpning +3–5 s/km, halvdels-split −4…−6, K1/K2-speilvendt for HM). Energimila er go/no-go-lampen: 36:4x → åpne Kbh på 3:47-skjema; 37:0x–37:1x → åpne på 3:49 og hent S2-reserven fra km 15. Dagens outlook: pred 1:19:22, P(sub-1:20) = 57 % — modellen ser det samme som oppskriften, med ærlig usikkerhet.
Amsterdam-vinkelen (near-ankeret): Kbh T−4 u er P10-tune-up-en som re-kalibrerer maraton-ankeret (beste race samme kategori 540 d) — en 1:19:xx løfter hele prediksjonskjeden inn mot 18.10. Kostnaden er reell og skal planlegges, ikke oppdages: R8-immunvakt 72 t + null kvalitet 3–5 d etter målgang (Berlin-HM-kvitteringen: severe infeksjon 30.3–2.4, dagen etter løpet), og u39 i Amsterdam-blokka legges deretter.
Planen (Blokkplan-Amsterdam v2 + outlook per 05.07) treffer syntesen nesten overalt: tune-ups på riktige datoer og avstander ✓ (Energimila T−9,5 u — utenfor ideal-vinduet 4–6 u, men Kbh T−4 lukker gapet, nøyaktig som maraton-syntesen §4 sa) · postM-fritt for begge ✓ · outlook-sannsynlighetene (75/57/61 %) er konsistente med oppskriftenes konfidens. To skjerpinger: (1) u32/33 rundt Energimila skal IKKE taper-behandles — hold volumuka, lett dag-før (K3/RE3; en klassisk felle er å gi 10k-en HM-respekt). (2) Kbh-uka SKAL taper-behandles (S3) og etterfølges av immunvakt-planlagt u39 — HM-en er både A-mål og Amsterdam-anker, og begge rollene tåler dårlig en infeksjon à la 30.3.
Ærlighetsnotat: n=21, hvorav 17 i kalibrering — alt er rangeringer med skarpe brudd, ikke kausalbevis. Åpnings-/fade-funnene (K1/K2) står støest (virker innen æra og på tvers); taper-asymmetrien (K3) hviler på 2–3 moderne løp per celle. HM-σ-dommen (æra-data) og K5 (n=3 flagg) er sårbare for neste datapunkt. Laps er GPS-rekonstruert — åpnings-km-ene kan bære ±2–3 s GPS-støy (retningen overlever, størrelsen er ca.). Nidaros-22 er 9,55 km (løpemål); Tordenskiold-23s fade er terreng. MOD-5-replikasjonen bruker morning_snapshot-verdier og race_outlook-formelen eksakt, men historisk finaliserte HRV-verdier kan avvike marginalt fra snapshot. Spec-ens «σ 1,8 / CI [−5,6, +3,3]» og F7s «Sommernatt under prediksjon» er pre-05.07-tilstander — denne rapporten bruker dagens modellfil konsekvent, og avvikene er dokumentert der de oppstår (§4, K5). Carl-eksponenten 1,041 er en n=1-bro med 7,5 mnd mellom endepunktene — derfor oppgis begge strekene (36:15 ren Riegel / 36:46 Carl-ratio) i stedet for én. Og den største enkeltusikkerheten er den samme som i maraton-syntesen: ingen av S-kildene er bevist additive — 4–6 s/km-regnskapet er beste ærlige lesning av én blokk-fasit (Berlin), designet for å bli testet billig (Energimila) før det koster noe (Kbh).
Dato: 2026-07-06 · Skrevet av: Claude (Fable, FABLE-6 fra TODO-spec-banken) · Grunnlag: `Races/_stream.json` (per-sekund: velocity/HR/kadens/watts/altitude, alle 11) + `Races/_data.json` (1000m-laps) · `race_weather.json` · maraton-sidene og `Running_Report_Tverrmaraton-Syntese_v1.md` som kontekst-anker.
Hva dette er: Tverrmaraton-syntesen brukte halvdels-fade; dette er første gang per-sekund-streams og km-laps leses på tvers av alle 11. Spørsmålene fra specen: hvor lekker tid, in-race HR-drift/decoupling per 5k, respons på vind/høydemeter, og «point of no return»-mønsteret i de sprukne løpene. Leveransen ender i en skjerpet km-for-km-plan for Amsterdam (A9) og et forslag til in-race-decoupling-definisjon som komplement til P4-porten.
Metode-noter: (1) Km-avvik måles mot løpets egen snittpace (skalerte 1000m-laps). (2) EF = fart/HR; drift = EF per segment vs baseline km 3–8 (unngår HR-lag i start). (3) HR-artefakter renset før alt annet: NY-23/Berlin-24 har `hr_removed` (ingen HR-analyse); i tillegg fant denne gjennomgangen artefakt-blokker i Valencia-22 km 6–12 (spike til 188 midtløps, retur til 162), Paris-23 km 12–20 (blokk på 176–182, retur til 156–160 på samme fart) og Valencia-24 fra km ~21 (glir 158→139 på jevn 4:10 — wrist-dropout). Disse km-ene er ekskludert fra EF/HR-tall; Valencia-22 bruker baseline km 13–20. London-25s HR er vurdert EKTE (koherent forløp uten spike-mønster). (4) Ingen latlng i race-streams → vind-retning/WGAP ikke forsøkt; vind analyseres via km-uro og watts. (5) Strava-høyde-TOTALER er søppel (MOD-8), men per-km-stigning fra barometrisk altimeter har reelt signal — brukt kun relativt, innen løp, med løp-faste effekter. (6) Trondheim-21 GPS-upålitelig — ute av km-profilene.
| Løp | Åpning km 1 | Banket <30k | Tap 35k→mål | Brudd-onset | Recovery | EF-drift 31–35 | Stride 35–40 vs 5–10 | Siste 2,2 km | km-SD (vind) |
|---|---|---|---|---|---|---|---|---|---|
| Trondheim 21 | +1,6 % | 52 s | 23 s | — | — | −4,6 % | −0,6 % | **−14,7 s/km** | 4,7 (1,7 m/s) |
| Barcelona 22 | +4,2 % | 67 s | 17 s | — | — | +1,1 % | −2,3 % | **−14,3** | 3,8 (1,3) |
| Oslo 22 | **−3,7 %** | **215 s** | **159 s** | km 24→35 | nei (kollaps 37–39) | −4,0 % | **−11,3 %** | +1,2 | 4,4 (3,6) |
| Valencia 22 | +0,2 % | 76 s | 55 s | km 35 | nei | −1,2 % | −1,8 % | +0,7 | 3,0 (1,2) |
| Paris 23 | +1,5 % | 101 s | 82 s | km 37 | nei | −0,0 %* | **−6,0 %** | −4,4 | 7,2 (**6,1**) |
| NY 23 | (Verrazzano) | 149 s | 54 s | km 37 | delvis | (ingen HR) | **−5,4 %** | −5,1 | 5,9 (1,0) |
| København 24 | +0,4 % | 52 s | 39 s | — | — | **−8,5 %** | −2,6 % | −3,3 | 2,7 (3,7) |
| Berlin 24 | +1,1 % | 56 s | 16 s | km 28 (GI) | **JA — full** | (ingen HR) | −1,9 % | −3,6 | 3,4 (3,4) |
| Valencia 24 | +3,0 % | 28 s | 20 s | — | — | (HR død fra 21) | −2,2 % | −10,1 | 2,8 (1,5) |
| London 25 | (syk fra start) | — | 313 s | km ~16–20 | nei | (syk baseline)* | **−19,1 %** | +48,2 | 4,3 (0,3) |
| **Frankfurt 25** | **+5,4 %** | **29 s** | **0 s** | — | — | **−0,1 %** | **−0,5 %** | −4,6 | 3,4 (**6,4**) |
\ Paris' 31–35 ser ren ut, men 36–40 er −13,2 % — klippekant, ikke jevn glidning. London: baseline km 3–8 var allerede patologisk (HR 173 på planfart), så drift-tallet måler mot en syk referanse. «Banket» = sek raskere enn eget løpssnitt før 30 km — merk at metrikken pr. konstruksjon speiler fade (se §5).*
D1 — All tid lekker i km 35–40. Aldri på slutten — reserven finnes nesten alltid. Segment-tapene mot egen snittfart: de sprukne løpene taper +54…+159 s i 35–40 (Oslo +140 i selve segmentet); sub-3-laget +13…+32; Frankfurt −13. Men siste 2,2 km er NEGATIV i 9 av 11 løp — selv NY med krampefare (−5,1 s/km) og Paris (−4,4). Bare Oslo (flat) og London (+48) manglet spurt. Lekkasjen i 35–40 er altså ikke absolutt tom tank — det er et kontroll-/durability-tap som «slipper» når mål nærmer seg. Konsekvens for Amsterdam: 35–40 er ikke stedet for frislipp; frislippet (38+) er gratis bare hvis 30–37 var kontrollert. I tillegg synes en mild halvveis-lull rundt km 24–26 i 6 av 11 løp (+4…+20 s/km enkelt-km; NY-tallet er Queensboro) — gel + fokuspunkt der er billig forsikring.
D2 — Åpningen predikerer lekkasjen: ingen vellykket maraton åpnet km 1 raskere enn snittfarten. Sub-3-DNA-et per km: km 1 = +6 s/km, km 2 = +1, deretter flatt (±2 s) til 35. Alle fire sub-3: km 1 mellom +0,4 % (Kbh) og +5,4 % (Frankfurt). De sprukne åpnet på eller under snitt (Oslo −3,7 %, og km 3-snittet deres er −11 s/km). Innen km 4–30 var dypeste enkelt-km i et sub-3-løp bare −8 s vs snitt (Kbh km 12). Frankfurt-malen kvantifisert: km 1 +13 s (HR 148!), km 2 +3, lås fra km 3.
D3 — Kollapsen er binær, ikke gradvis. Pooled regresjon (309 km, høyde + løp-faste effekter, km ≤35): den systematiske «gradvise fadingen» er bare +0,06 s/km per km (SE 0,03) — under 2 s/km fra km 5 til 35. Alt annet tap er konsentrert i identifiserbare brudd/hendelser. Maratonfade er hos deg ikke en jevn fysiologisk glidning; det er disiplin + ett binært brudd som enten kommer eller ikke.
D4 — To fade-moduser, og de kan skilles LIVE: hendelse vs brudd. Berlin-GI-en er malen for hendelse: onset km 28, +13/+19/+14 s/km i tre km (~46 s), stabil kadens, stride-dipp som HENTET SEG (−4 % i segmentet → tilbake til −1,9 %), og km 31–42 tilbake på planfart. Total kost ~50–80 s, sub-3 holdt. Bruddene (Oslo, Val-22, Paris, NY, London) deler én mekanisk signatur: kadensen holder (−1…−3 spm), steglengden kollapser — −5,4 % (NY), −6,0 (Paris), −11,3 (Oslo), −19,1 (London), mot ≤−2,6 % i alle sub-3. Etter brudd-onset er taksten 9–18 s/km til mål, uten retur. Live-regel: fartsfall med intakt steglengde/HR = hendelse → ikke jag, den går over; fartsfall med krympende steg og stigende HR = brudd → lås ny realistisk fart umiddelbart, hvert «jage-km» forverrer (Oslo banket 215 s og betalte 159+ i 35–40 alene).
D5 — London var synlig i telemetrien fra km 2, og abort-vinduet ble ikke brukt. HR 174/174/173 på km 2–4 i planfart — +12…+15 slag over din normale MP-HR (155–162 i alle friske løp). Ingen andre løp viser dette (Val-24 med 3 d forkjølelse: 166–168 første 10k — forhøyet, men leverte PB; terskelen ligger altså rundt 170, ikke 165). Fra km 11 falt HR sammen med farten — kroppen nektet å levere effekt. Dette gir en operasjonell dagsform-gate som R5-flaggene (kvelden før) ikke dekker: HR ≥170 vedvarende første 5 km på planfart → dette er London-dagen; skift til nedre-CI-plan senest km 8–10. London fortsatte på plan til ~15k og betalte 313 s fra 35k.
D6 — København vs Frankfurt: samme utfallsklasse, motsatt kardial kost — race-durability er marginvalg, ikke bare plattform. Kbh red LT2+11 (HR 180) fra km 21, EF-drift −8,5 % ved 31–35, «ødelagt på 38» — men betalte bare 39 s fra 35k (plattform + tog reddet det). Frankfurt lå i I3 til km 37 (HR-snitt 165 ved km 35, LT2 først km 38+), EF-drift −0,1 % ved 31–35, og KJØPTE de −13 sekundene i 35–40. Treningsporten (P4) var grønn i begge blokker — porten måler plattformen, ikke om du disponerer marginen på løpsdagen. In-race-uttrykket av «riktig margin» er EF-drift ≥ −2 % ved 31–35; over LT2 før km 25 har historisk garantert 35–40-regning (Kbh 39 s, NY per løpssiden). Trondheim-debuten viser samme fysikk fra andre siden: −4,6 % drift → −7,8 % → maks-HR 188 i mål.
D7 — Høyde og vind er priset og håndterbare; det som koster er å håndtere dem alene/emosjonelt. Høyde: +5,5 s/km per 10 m stigning, −5,2 s/km per 10 m fall (SE 0,8/0,6 — symmetrisk refusjon; NYs bro-km og Oslos «siste bakke» bærer signalet). Ikke kjemp mot broer — 10 m koster 5–6 s og betales tilbake på nedsiden. Vind: detrendet km-uro (SD) i vindstille løp er 2,7–3,8 s/km; Paris i 6,1 m/s ALENE: 7,2. Frankfurt i 6,4 m/s I TOG: 3,4 — som vindstille. Watts-kanalen viser mekanismen: Frankfurts effekt svinger ±5–7 % per 5k mens farten står stille — vinden ble absorbert i watt (bak gruppa), ikke i pace. Amsterdam-regelen: i vindsonen skal innsatsen variere, aldri farten.
Dagens A9 (`pacing_plan.py`) er en lineær ±1 %-rampe. DNA-et sier profilen skal være fase-formet, ikke lineær — åpningskost foran, lås i midten, betalt frislipp bak:
| Fase | Km | Pace | Regel + in-race-gate |
|---|---|---|---|
| Åpning | 1 | **4:10–4:11** | Frankfurt-malen (+9 s). HR skal være <155 (Frankfurt km 1: 148). Trengsel er gratis her. |
| Nedtrapping | 2–3 | 4:06 → 4:04 | Fortsatt over mål. Ikke vev deg inn i 3:55-tog. |
| Innfasing | 4–8 | 4:02 | **Gate km 5:** HR ≤163 grønn · 164–169 obs (Val-24-dagen: lever, men dropp frislipp) · **≥170 = London-gate: bytt til nedre-CI-plan (≈2:53, +4–5 s/km) senest km 8** (D5). Aldri raskere enn 3:57 før km 8. |
| Lås | 9–24 | **4:01–4:02** | I tog. Korridor ±4 s. Kadens-referanse noteres ~km 10 (din: 180–184). **Gate km 25: HR ≥172 = Kbh-mønster** → gi opp negativ splitt, forsvar 2:50, prioriter fylling + tog (D6; regningen ellers: ~30–40 s i 35–40). |
| Halvveis-lull | 24–26 | 4:01–4:02 | Gel + fokuspunkt — mini-dippen i 6/11 løp starter her (D1). |
| GI-protokoll | 27–30 | 4:01 | Ved mageknip: aksepter inntil +10–15 s/km i maks 3 km, **ikke jag tilbake** — Berlin viser full recovery og total kost <80 s (D4). Jaging konverterer hendelse til brudd. |
| Vindsonen | 30–37 | **4:01–4:02 — lås** | A9s 💨-sone (Amstel). Le/gruppe FØR km 30; watt får svinge, ikke farten (D7: tog i 6,4 m/s = vindstille-uro). Km-variasjon >±4 s = du drar alene — kjøp le for 2–3 s/km. **Gate km 35: kadens −4 spm fra referansen eller fart −10 s på intakt innsats = brudd underveis → lås 4:06–4:08 resten, redder ~60–90 s vs å jage (D4).** |
| Betalt frislipp | 38–40 | **3:58–3:59** | KUN hvis km-35-gaten er grønn (kadens intakt, HR <172). Reserven er historisk reell: 9/11 løp spurter (D1). |
| Mål | 41–42,2 | **3:56–3:57** | Frankfurt tok −4,6 s/km her; du har gjort dette i hvert friskt løp. |
Kostnadsregnskapet: åpningen (km 1–3) koster ~15 s mot jevn fart; frislippet (38–mål) henter ~15–20 s — netto null mot 2:50:00-planen, men med brudd-risikoen priset ned i den delen av løpet der 10/11 løp lekker. Forslag til `pacing_plan.py` (kjøres IKKE nå — parallelløkt-regel): erstatt lineær bias for M-kategorien med fase-profilen over (åpning +9/+4/+2 s, lås, −3/−5 s fra 38), og legg gate-tekstene inn som rader i HTML-en/armbåndet. 5k-splitt for armbånd: 20:25 · 20:11 · 20:09 · 20:09 · 20:09 · 20:09 · 20:09 · 20:00 + 8:40 (= 2:50:00).
P4-porten (to siste 30k+ før taper: dcp ≤1 % OG score ≥8) måler plattform og består. Men Kbh viser at grønn port + feil margin fortsatt gir −8,5 % in-race-drift (D6). Forslag — ny beskrivende metrikk i `post_race_calibration.py`/race_deep-malen, ikke ny gate:
> Race-decoupling = EF(km 31–35) / EF(km 3–8) − 1, med artefakt-rens først (denne rapportens metode: spike/dropout-km ut; lap-HR, ikke hr_avg). Bånd: grønn ≥ −2 % (Frankfurt −0,1) · gul −2…−5 (riktig margin, sliten dag) · rød < −5 (marginen var feil — Kbh −8,5). Sekundær: stride-ratio 35–40 vs 5–10 (fungerer også uten HR: NY/Berlin) — brudd < −4 %.
Dette gir hvert framtidige løp en durability-fasit som kan krysses mot P4-portens treningsverdier — etter 3–4 løp vet vi om treningsporten predikerer race-drift eller bare deltakelse. Amsterdam blir første datapunkt.
n = 11, hvorav 2 uten HR og 3 med delvis artefakt-HR — EF-tabellen står på 6 hele + 2 halve løp. Artefakt-klassifiseringen (Val-22 km 6–12, Paris km 12–20, Val-24 km 21+) er min lesning av kurveform (spike/blokk/dropout-mønstre), ikke Carl-kanonisk; bør bekreftes før den ev. propageres til `hr_unreliable.json`-tenkning — men konklusjonene D2/D4/D7 står uten disse km-ene. Kbh-HR-en (180 flatt siste 15 k) er ekstrem, men konsistent med løpssiden og uten artefakt-mønster — beholdt. «Banket»-kolonnen er målt mot eget løpssnitt og speiler pr. konstruksjon fade (et jevnt løp kan ikke banke); den brukes derfor bare som jevnhets-mål, ikke kausalt. London-tallene mot eget snitt er meningsløse (snittet er kollapset) — D5 bruker plan-referanse. Høyde-koeffisienten bæres av de reelt kuperte løpene (NY/Oslo); på flate løyper er per-km-støyen ±2–3 m og flytter ingenting. Vind-funnet (D7) er n=2 vindløp mot n=1 håndtert — mekanismen (watts vs pace) er det som bærer det, ikke antallet. Kadens-/stride-NIVÅER er ikke sammenlignbare på tvers av æraer (170→184 spm fra 2021 til 2025 — klokker og løpsstil); alt i D4 er relativt innen løp. Og hovedforbeholdet fra syntesen gjelder fortsatt: ingen av de 11 er løpt på 4:01/km — km-planen i §3 ekstrapolerer Frankfurt-formen ~5 s/km, med Energimila som designert test.
Parallelløkt-notat: kun denne filen er skrevet; TODO/CHANGELOG/SYSTEM_OVERVIEW urørt; ingen sync/bygg kjørt; ingen skriv til data/. Konsoliderings-linje nederst.
Konsolidering: `Running_Report_Maraton-PacingDNA_v1.md` — all lekkasje bor i km 35–40 og er binær (hendelse vs brudd, skillbare live via steglengde+HR); London var synlig fra km 2 (HR ≥170-gate); skjerpet fase-basert Amsterdam-plan (2:49:59-kontrollsum) + forslag om race-decoupling-metrikk (EF 31–35 vs 3–8, grønn ≥ −2 %) som P4-komplement.
Dato: 2026-07-07 · Skrevet av: Claude (Opus, OPUS-SPOR-D / D1 fra TODO) · Grunnlag: `Races/*_stream.json` (per-sekund: velocity/HR/kadens/watts/altitude) + `_data.json` (1000m-laps) for alle 21 kortløp (11×10k + 10×HM) · `race_weather.json` (tidsvektet vind) · `race_predict_model.json` (LOO T-14) · About_me + SYSTEM_OVERVIEW lest først.
Hva dette er: Søsteren til maraton-PacingDNA-en (F6), samme metode på kort distanse. F5 leste 1000m-laps; dette er første gang per-sekund-streams (kadens, watts, steglengde) leses på tvers av alle 21 korte. Tre operative spørsmål fra specen: (1) S2-timing — Berlin HM lå 95 % i I3; når «kjøpes» reserven, og hva betyr det for Kbh-frislippet fra km 15? (2) K2-brudd-mekanikken på 10k — km 6–7: ryker steglengden eller pulsen først? (3) Vind i watts — even-effort-regelen (RE5) tallfestet. Leveransen ender i km-gates for Energimila og en S2-frislipp-plan for København.
Metode-noter (arvet fra F6, verifisert mot koden): (1) Per-km og per-500m rekonstruert fra per-sekund mot skalert distanse. (2) EF = velocity/HR; drift = EF(sein) / EF(baseline) − 1. Baseline 10k = km 2–3, sein = km 7–9; HM = km 3–8 vs (N−6)…(N−2). (3) Steglengde = velocity·60/kadens (m/steg) — kadens er full (begge bein, ~180–186). (4) HR renset først: Nidaros-23 og Nidaros-25 har `hr_removed` (blacklist G6 — pulsbelte sviktet i kulda) → ingen HR-analyse, men velocity/kadens/watts står. Trondheim-HM-23 har HR-sensorfeil (snitt 153 på 3:29/km-PB, EF-drift +13,7 % = dropout) → ekskludert fra EF. Nidaros-22 målte 9,65 km (kort løype) → pace-nivået flatterer, brukt kun til form. (5) Watts finnes fra 2022 (Stryd) → vind-analysen er 2022+. (6) Ingen latlng i race-streams → vind via km-uro + watts, ikke retning.
10k (baseline km 2–3 → sein km 7–9):
| Løp | Tid | resid T-14 | Åpning km1 vs snitt | Fade (2H vs 1H) | EF-drift | Steg-drift sein | KadensΔ | Siste km |
|---|---|---|---|---|---|---|---|---|
| Tordenskiold-20 (solo) | 43:42 | (+5,3 B) | +4,5 | −6,5 % | +1,3 % | +4,5 % | −1,3 | 3:37 |
| Høst-10k-20 | 42:07 | +0,2 | −6,4 | +0,2 % | −1,2 % | +0,6 % | +0,1 | 4:30 |
| Nidaros-22 (9,65 km) | 39:48 | −0,6 | −3,0 | +1,8 % | −4,4 % | −3,8 % | −0,3 | 4:01 |
| Tordenskiold-23 (terreng)¹ | 41:26 | +1,5 | −1,9 | −1,5 % | −7,2 % | −3,9 % | −1,2 | 3:13 |
| Nidaros-23 (HR ute) | 39:58 | +1,8 | +7,0 | −4,7 % | — | −1,3 % | +0,3 | 3:10 |
| Oslo-10k-23 | 39:26 | −0,7 | +3,8 | −5,1 % | −1,2 % | −0,5 % | −0,5 | 2:59 |
| Bane-24 | 38:38 | −1,2 | −1,6 | +1,7 % | −0,9 % | −1,7 % | −2,0 | 3:53 |
| **Nidaros-24** (postM) | 39:25 | +0,3 | **−9,8** | **+5,3 %** | −4,9 % | **−6,6 %** | −1,1 | 3:44 |
| **Nidaros-25** (sprekk) | 40:54 | **−4,7** | **−29,4** | **+20,0 %** | — | **−8,8 %** | −3,4 | 5:50 |
| Sommernatt-25 | 38:26 | +1,2 | +2,3 | −2,6 % | +1,4 % | +1,1 % | −0,0 | 3:30 |
| **EnergiMila-25** (PB) | 37:24 | 0,0 | +4,5 | −2,7 % | −2,7 % | −0,4 % | +0,1 | 3:19 |
HM (baseline km 3–8 → sein):
| Løp | Tid | resid | Åpning km1 | Fade | EF-drift | Steg-drift | KadensΔ | Siste km |
|---|---|---|---|---|---|---|---|---|
| Trondheim-HM-19 (debut) | 1:44:42 | −3,9 | +9,5 | −4,9 % | (+2,9)² | +4,4 % | +0,9 | 4:44 |
| Solo-HM-20 | 1:42:05 | −1,1 | +4,2 | −3,2 % | −0,8 % | +2,9 % | +0,4 | 4:54 |
| HM-okt-20 | 1:35:36 | −2,2 | +0,2 | −0,5 % | −1,9 % | −1,2 % | +1,6 | 4:16 |
| HM-21 | 1:33:45 | −0,4 | +1,2 | +0,5 % | (−11,7)² | −0,7 % | −1,9 | 4:09 |
| TOSK-HM-22 (B) | 1:29:16 | (+4,8 B) | +7,9 | −2,3 % | −1,0 % | −0,4 % | +2,1 | 3:57 |
| Trondheim-HM-23 (HR-feil) | 1:27:49 | +0,3 | +0,0 | −2,3 % | (ekskl.)² | +2,2 % | +1,0 | 3:59 |
| **Trondheim-HM-25** (PB) | 1:24:24 | −0,8 | +9,3 | −3,4 % | −3,1 % | −0,4 % | +3,2 | 3:31 |
| **Berlin-HM-26** (PB) | 1:21:19 | +1,6 | +6,2 | −2,2 % | +1,7 % | +0,8 % | +1,8 | 3:29 |
¹ Tordenskiold-23: kupert, ingen stream — laps-fallback. ² EF-drift-outliere: Trondheim-HM-23 HR-sensorfeil (ekskludert); HM-21 −11,7 % er ekte sein-HR-stigning mot 183 (hardt sluttdrag, ikke artefakt); Trondheim-19 er 2019-plattform. Ekskluderte løp (B-innsats/trail/sosialt) vises med residual i parentes — aldri sett av fitten.
To signaturer springer ut umiddelbart: på 10k skiller steg-driften rene løp (±1,7 %) fra sprekkene (Nidaros-24 −6,6 %, Nidaros-25 −8,8 %) — mens kadensen står nær intakt i begge. På HM er mønsteret motsatt: kadensen STIGER sein i alle moderne løp (+1,0 til +3,2 spm) og steget holder — negativ-split-spurten er kadens-drevet, 10k-bruddet er steg-drevet. Det er to helt ulike fysiske forløp, og de forklarer resten av rapporten.
Berlin HM-26 per-500m, med gap til lab-LT2 (HR 169):
| km | 1–10,5 (åpning+lås) | 11–15 (midtlås) | 15–18 (venting) | 18–21,1 (frislipp) |
|---|---|---|---|---|
| HR-snitt | 160,7 | 163 | 163 | **165–168** |
| Gap til LT2 | +5…+8 | +6 | +6 | +1…+4 |
| Pace | 3:51 | 3:50 | 3:48 | **3:45 → 3:41 → 3:29** |
| Steglengde | 1,41 | 1,41 | 1,42 | **1,44 → 1,47 → 1,54** |
Funn: Reserven ble kjøpt av en disiplinert åpning (km 1 HR 159, deretter lås 162–165 = 95 % I3) og lå urørt hele løpet — HR nådde maks 168, aldri inn i I4 (170–175). Frislippet kom ikke før km 18–19: farten falt 3:48 → 3:45 → 3:41 → 3:29 mens HR bare krøp 164 → 168 og steglengden eksploderte +9 % (1,41 → 1,54). Han spurtet siste km på 3:29 med 1 slag til LT2 og tre soner (I4 helt) ubrukt.
Det betyr: «I4-billetten» (S2-posten i sub-1:20-oppskriften, verdt 1–1,5 s/km) ble aldri innløst i Berlin. Fra km 15 lå HR på 163 (+6 til LT2) mens han fortsatt løp 3:48–3:49 — 3 km der marginen sto ubrukt. Berlin ble 1:21:19 med en halv fart-sone i banken.
Kbh-frislippsplan (sub-1:20 = 3:47/km):
Km 6–7 for de to sprekkene mot de to rene PB-ene (baseline km 3–5,5 → brudd km 5,5–7,5):
| Løp | Steglengde | Kadens | HR | Pace |
|---|---|---|---|---|
| **Nidaros-24** (postM sprekk) | 1,435 → 1,380 = **−3,9 %** | 179,9 → 180,0 = **±0** | 173,8 → 170,4 = **−3,5** | +3,9 % |
| **Nidaros-25** (sprekk, HR ute) | 1,377 → 1,294 = **−6,0 %** | 184,3 → 181,8 = −2,6 | — | +8,0 % |
| EnergiMila-25 (PB) | 1,476 → 1,454 = −1,5 % | ±0,1 | 172,2 → 171,7 = −0,4 | +1,5 % |
| Sommernatt-25 (PB) | 1,424 → 1,433 = +0,7 % | +0,3 | 174,7 → 173,8 = −0,9 | −0,8 % |
Funn — steglengden, entydig. I Nidaros-24 (den ene sprekken med gyldig HR) faller steget −3,9 % mens kadensen står nagelfast (±0) og pulsen faktisk SYNKER 3,5 slag (174 → 170). Kroppen slipper ikke pace fordi hjertet når taket — den slipper steget, og pulsen daler med farten. Det er en nevromuskulær/mekanisk kollaps, ikke en kardial. Nidaros-25 (uten HR) viser samme signatur forsterket: steg −6,0 %, kadens tilnærmet intakt. De rene løpene holder steget (±1,5 %) — ingen mellomting, akkurat som K2 sa, nå med mekanismen synlig.
Årsakskjeden (Nidaros-24): overpacet åpning (−9,8 s) → HR spiker til 176 (I5) km 3 → betaler for det km 5–7: steget kollapser, HR daler til 170 idet farten bløder. Frontlastingen brukte opp benet, ikke pusten.
Live-gate for Energimila (til RE-plan-vedlegget): overvåk steglengde fra km 5 (Stryd viser den live; proxy = pace ved holdt kadens). Et fall >3 % ved intakt kadens = bruddet har startet — km-en er allerede tapt, ikke jag den (Nidaros-24 banket 3 km og betalte +9 s/km til mål). Dette er 10k-ekvivalenten til maratonens km 35-gate (F6 D4), men utløseren er steg-ikke-HR fordi 10k-bruddet er mekanisk.
Per-km variasjonskoeffisient (CV), pace vs watts:
| Løp | Vind (racesnitt) | Pace-CV | Watts-CV | Utfall |
|---|---|---|---|---|
| **Nidaros-25** | **5,9 m/s** | **13,0 %** | 8,4 % | sprekk −4,7 % |
| Oslo-10k-23 | 2,8 m/s | 7,2 % | 4,4 % | PB (kupert løype) |
| Nidaros-24 | 1,7 m/s | 3,7 % | 5,5 % | sprekk (watts > pace) |
| EnergiMila-25 | 1,1 m/s | 3,6 % | 2,8 % | PB |
| Sommernatt-25 | 2,3 m/s | 2,4 % | 1,5 % | PB |
Funn: Watts-kanalen gjør synlig det pace skjuler. I materialets eneste vind-katastrofe (Nidaros-25, 5,9 m/s solo) svingte pace 13,0 % mens effekten «bare» svingte 8,4 % — han jaget km-tida i motvind, spikret ikke effekten. De rene PB-ene i moderat vind holdt watts-CV under 3 %. Target-effektbåndet fra de rene 10k er stramt: 462–479 W (EnergiMila 470±21, Sommernatt 462±20, Bane-24 462±14, Oslo 479±35). Berlin HM lå på 449±28 (HM-effekt, lengre).
Nidaros-24 er lærerik som motstykke: watts-CV (5,5 %) > pace-CV (3,7 %) — der pushet han effekten for å forsvare farten mens benet sviktet (§3), motsatt selvskade. Begge sprekkene brøt even-effort, hver sin vei.
Operativ regel (skjerper RE5): i >5 m/s — pace km 1 etter watts, ikke klokka. Hold 465–480 W-båndet og la farten flyte (treg i motvind, kvitt på medvind). Å jage pace-tallet i motvind er nøyaktig det som konverterte Nidaros-25 fra en vindfull dag til en kollaps (K4-interaksjonen: vinden priset frontlastingen, ikke løpet). Stryd er allerede på — dette krever bare at Mål-fanen/armbåndet viser watt-bånd, ikke bare pace, på vind-gate-løp.
A — Fade er binær på 10k, mykt monoton på HM (K2 verifisert per-sekund). Rene 10k: fade ≤0 %, steg ±1,7 %. Sprekker: fade +5…+20 %, steg −4…−9 %. Ingen 10k lander i mellom. HM fader alltid −2…−3,4 % (negativ split) uansett utfall — mykt, kadens-drevet, ikke et brudd.
B — Åpningen er stadig den sterkeste diskriminatoren (K1). Rene 10k åpnet km 1 innen ±5 s av snitt; begge sprekkene frontlastet grovt (Nidaros-24 −9,8, Nidaros-25 −29,4 vs eget kollaps-inflaterte snitt; F5s −11,6/−21,3 vs bærekraft er den renere målestokken). Symmetrisk felle på HM: Trondheim-25 åpnet +9,3 s (for konservativt) og la ~1 min i banken — men det er en billigere feil enn frontlasting.
C — EF-drift som durability-fasit (F6 §4-metoden på kort). Berlin +1,7 % (EF bedret seg sein — reserven), rene 10k ±1–3 %. Dette er kortdistansens P4-speil: EF-drift ≥ −2 % km-sein = marginen var riktig. Berlin og EnergiMila kvitterer; sprekkene har ingen gyldig HR å måle på (blacklist), så steg-driften (§3) er durability-proxyen der.
Bygger på F5s RE1–RE7, nå med per-sekund-gates:
| km | Gate | Tall |
|---|---|---|
| 1 | Åpning etter watt, ikke pace | 3:40–3:44 **OG** 465–480 W. Aldri <3:38 / >495 W km 1. |
| 2–5 | Lås | 3:41–3:43, watt-bånd 465–480. Steglengde-referanse noteres km 3 (~1,47–1,48). |
| 5→ | **Steg-gate (§3)** | Fall >3 % fra km-3-referansen ved intakt kadens = brudd → lås ny realistisk pace, ikke jag. |
| 6–9 | Frislipp gradvis | Alt fra km 8; 5k-pass 18:25–18:30 (5k-split-PR 18:38 ryker planlagt). |
| — | **Vind-gate (§4)** | >5 m/s: styr på watt-bånd, la pace flyte. |
| eve | Belte-sjekk | Puls-belte testes i kulde/regn (Nidaros-25-lærdommen). |
n=21, hvorav 4 uten gyldig HR (2 blacklist, 1 sensorfeil, 1 uten HR-belte) og watts kun 2022+ (13 løp) — vind-funnet (§4) står på n=1 ekte vindløp (Nidaros-25) mot 4 rolige; mekanismen (watt-CV < pace-CV) bærer det, ikke antallet, og Oslo-10k viser at høy pace-CV alene (kupert løype) ikke er feilmarkør. Steg-brudd-funnet (§3) er sterkest — det virker i begge sprekkene og har mekanisme (kadens intakt, HR daler), men den ene med gyldig HR er n=1. Berlin-reserven (§2) er ett løp lest grundig; S2-postens additivitet med S1/S3 er fortsatt ubevist (F5-forbeholdet). Steglengde-NIVÅENE er ikke sammenlignbare på tvers av æraer (kadens 170→184 spm 2019→2025 = klokke + stil) — alt i §1/§3 er relativt innen løp. Laps/streams er GPS-rekonstruert (±2–3 s km-støy). Target-watt-båndet (465–480) er Stryd-spesifikt for Carl, ikke normativt. Og hovedforbeholdet fra F5/F6 gjelder: ingen av disse er løpt på Kbh-mål 3:47 eller Amsterdam 4:01 — §2-planen ekstrapolerer Berlin-formen, med Energimila som designert billig test.
Parallelløkt-notat (SPOR D): kun denne fila skrevet i D1-steget; TODO/CHANGELOG/SYSTEM_OVERVIEW/quality.json urørt; ingen sync/bygg/git; ingen skriv til data/. Egne D2/D3-leveranser i egne filer.
Konsolidering: `Running_Report_Kortdistanse-Telemetri_v1.md` (O8/D1) — per-sekund på 21 kortløp: (1) Berlin-reserven ble kjøpt i 95 % I3 (HR-tak 168 vs LT2 169) og sluppet 3 km for sent → Kbh-frislipp fra km 15 m/ I4-billett, ikke km 18; (2) 10k-bruddet km 6–7 er steglengde-kollaps ved intakt kadens mens HR daler (Nidaros-24 steg −3,9 %/HR −3,5) — ikke kardialt → steg-gate fra km 5; (3) vind = pace svinger mer enn watt (Nidaros-25 13 % vs 8,4 %) → styr på 465–480 W-bånd i >5 m/s. Fade binær på 10k / kadens-drevet spurt på HM verifisert per-sekund.
FABLE-22 · skrevet 2026-07-07 · Fastpunkter (Carl 07.07): Generali Prague Half Marathon lør 3.4.2027 · Generali Genève Marathon søn 9.5.2027 — porteføljen bygges rundt disse; de evalueres, men overprøves ikke. Kilder: F17 Syvårs-syntesen v2 (§6 prinsippene + formene A/B/C) · F18 Livstids-PR (aldersvindu, AG-bane, scenariene) · Tverrmaraton-syntesen (F8 vær-vinduet, P/R-oppskriften, §4 Riegel) · F15 Infeksjonsvinduene (eksponeringslogikk, IV1–IV5) · `races.json`-fasiter via kilderapportene · websøk for løpsfakta (løypeprofiler, klimanormaler, datoer — URL-liste i §7). Miljø-atlaset (F24) er ikke kjørt — vær-resonnementet hviler på tverrmaraton F8 + klimanormaler. Alt read-only; kun denne fila er skrevet (parallellprotokoll).
Ramme: Dette er porteføljearkitektur, ikke plan. Alt etter våren 2027 er betinget på Amsterdam-fasiten (18.10.2026) + lab-retesten aug/sep — F18s to neste datapunkter. Blokkplan v3 og høsten 2026 røres ikke her. Riegel-tall bruker eksakt 1,06-formel (HM-sekunder × 2,0849).
Praha er en nesten perfekt match — Genève er det ikke, og det er greit hvis rollene settes riktig. Praha HM treffer PB-profilen på alle tre akser (flat/rask verdensklasse-løype, 6–12° ved 10:00-start tidlig april, dypt felt med fartholdere) og er 2027-utgaven av Berlin-HM-sertifikatet: vår = testbane (F17 prinsipp 4), strek = 1:19:08 (2:45-motoren, F18). Genève feiler på to av tre akser — «rolling» løype med ~300–385 m stigning og mai-varme som truer 7–12°-vinduet — og mangler den tredje (fartholdere stopper på 3:00; sub-2:50-feltet er tynt → ingen tog, R2-gapet). Genève er derfor feil arena for maks-realisering, men riktig plassert som realiserings-løp: T−5 uker etter Praha er near-anker-logikken fra 2026 (Kbh HM T−4 → Amsterdam), og mål-nivået settes av Praha-fasiten — sikt 2:48–2:52-klassen, aldri 2:45 her.
Vinter-konflikten løses med hybrid, ikke med vinter-M-blokk. Genève som tid-A ville krevd en dedikert M-blokk gjennom motor-vinteren — i strid med F17 prinsipp 1 (vinteren er motor-fabrikken) og upraktisk i Trondheim-vinter (30k+-trapp på is/mørke; mølle-30k-ekvivalens ukartlagt, F24 ikke kjørt). Malen er i stedet 2024-presedensen (Val-22/Val-24: PB på cappede blokker på høy base): motor-vinter med 3–5×30k+ innbakt seint → Praha-bygg → 5-ukers M-bro til Genève. Året er enheten (F17 prinsipp 3).
Høsten 2027: Valencia 5.12 er førstevalget (vær-odds, tog, flat, 2 PB-presedens, T+30 uker fra Genève), Frankfurt ~31.10 andrevalg, Amsterdam ~17.10 tredje; Berlin 26.9 frarådes som A-mål (T+20 + sommerbygg i varme). Mål-sone 2:46–2:48 per F18 scenario A. 2028–2030: årsmal 1 vår-HM-sertifikat + 1 høst-A-maraton + lokale 10k (som per F15 F3 ikke koster infeksjonseksponering) — 2:45-forsøkene ligger 2028–2029 (44–45 år), 2030 er forsvar. Færre-men-riktigere A-løp er ikke bare F15-logikk, det er aldringslogikk: restitusjon/immun blir den bindende beskrankningen før farten (F17 §5).
| Akse | Fakta | Mot PB-profilen |
|---|---|---|
| Løype | Flat, sløyfe fra Jan Palach-plassen langs Vltava; verdens raskeste HM i 2012; løyperekord 58:16 (2026); World Athletics Elite Label; brostein/stigning minimert | ✓ flat/rask |
| Temperatur | Start 10:00 (2026-utgaven). Praha tidlig april: morgen 2–6°, dagshøy ~11–13° → racevindu typisk **6–12°** | ✓ i PB-vinduet 7–12° |
| Felt/tog | RunCzech-felt i SuperHalfs-serien, fartholdergrupper standard; sub-1:20-selskap rikelig | ✓ tog finnes |
Rolle: vår-HM-sertifikat per F17 prinsipp 4 — nøyaktig Berlin-HM-2026-modellen, med 24 ukers runway fra Amsterdam (18.10 → 3.4). Streker: sub-1:20 = 2:46:47 Riegel-latent; 1:19:08 = 2:45:00-motoren (F17 §5/F18). Sertifikatet kalibrerer både Genève-målet (§1.3) og hele 2027-høsten. Alder på dagen: 42.
| Akse | Fakta | Mot PB-profilen |
|---|---|---|
| Løype | Én sløyfe: start Route de Frank-Thomas (Cologny) → landsbygd → mål Pont du Mont-Blanc. Arrangøren selv: «rolling layout»; ~**300–385 m** stigning (Marathon Index 385 m; offisiell GPX finnes for eksakt tall) | ✗ ikke flat — Carls PB-baner (Valencia/Frankfurt/Berlin) er vesentlig flatere |
| Temperatur | Start 09:00. Genève mai-normal: maks 19,7° / min 9,1°; mai er årets våteste måned; typisk race-dag ~16° → løpet beveger seg **12→17°** gjennom formiddagen; varme år bryter >16°-regelen (R7) | ✗ PB-vinduet 7–12° holder sjelden hele veien |
| Felt/tog | Fartholdere kun 3:00–5:00; vinnertid 2:11 (2025), men sub-2:50-feltet er tynt → **ingen gruppe rundt 2:48–2:52** | ✗ R2-gapet: solo-disponering (Berlin-24-modus) |
Det Genève HAR: riktig plassering. T−5 uker etter Praha er near-anker-logikken fra 2026 (Kbh HM T−4 uker foran Amsterdam) — modellen får et ferskt HM-anker, og broen er lang nok til 2 skarpe 30k+/MP-økter + taper, kort nok til at Praha-formen bæres inn. Og som «realiserings-rep» er den nettopp det F18 sier maratonen trenger: flere forsøk på å lukke Riegel-gapet (motoren ligger 1,5–3,5 min foran maratonen).
Løypekost-anslag (C): rolling + ~300 m D+ + typisk 14–16° priser anslagsvis +1–2,5 min mot Valencia-klassen for Carls nivå. Ikke et modelltall — settes ordentlig av race_outlook med Praha-ankeret i april 2027; men det er nok til dommen: 2:45-forsøk hører hjemme på flate, kalde høstbaner, aldri her.
| Praha-utfall | Riegel-latent M | Genève-sikte (løype+vær priset, P4-port bestått) |
|---|---|---|
| 1:21-klassen (flatt vs Berlin HM-26) | 2:49:3x | **2:52–2:54** — realiserings-rep, ingen PB-jakt |
| 1:20:0x–1:20:5x | 2:47–2:48 | **2:49–2:51** — sub-2:50 mulig hvis ≤14° og P4 grønn |
| Sub-1:20 (sertifikatet innfridd) | ≤2:46:4x | **2:48–2:50** — kontrollert; spar 2:45-ammunisjonen til høsten |
Dobbel-logikk mot Amsterdam-fasiten: hvis Amsterdam ≥ 2:50 er Genève vårens sub-2:50-sjekkpunkt (F18 scenario A: «sub-2:50 høsten 2026/våren 2027»); hvis Amsterdam < 2:50 er Genève trykkfri realisering — og kan ved Form C nedgraderes til B-innsats (effort-tag B, MOD-2) uten at fastpunktet røres. postM-regelen gjelder etterpå uansett: ingen 10k-A-innsats 15–45 d etter Genève (midt-mai→slutt juni 2027 fredes).
F17 prinsipp 1 (vinteren er motor-fabrikken, ikke-forhandlbar) og prinsipp 4 (vår = testbane) kolliderer med Genève som A-mål — en dedikert vinter-M-blokk ville ofret Bakken-basen/mølle-kvaliteten som produserte begge de store terskel-løftene, og krevd 30k+-trapp i Trondheim-vinter (is/mørke; mølle-langtur-ekvivalens er ukartlagt — F24 ikke kjørt). Løsningen er å la være å velge:
F15-regnskapet for dobbelen: to A-eksponeringer på 36 dager (Praha D+10-vindu ut 13.4; Genève-reisen ved maks systemisk last). IV1/IV2 ut D+10 etter begge, hjemreise-logistikken planlegges som del av race-uka, symptomscreening — ikke RHR/CRP (IV3). Inn mot 2027 bør re-typing-køen (F15 §3/C1) være avgjort, så illness-gaten teller riktig.
Fastpunktene låser våren i alle tre former; formene skiller seg i høsten og i hva Genève er. Beslutningspunkt: desember 2026, med Amsterdam-fasit + lab-retest i hånda.
| Slot | Form A′ — «2026-malen + dobbel vår» (F18-favoritt) | Form B′ — racecraft-maks | Form C′ — motor-året |
|---|---|---|---|
| Nov–feb | Motor-vinter (ikke-forhandlbar i alle former) | Motor-vinter | Motor-vinter, full vekt |
| 3.4 Praha | **A: sertifikat, sub-1:20/1:19:08-strek** | A: sertifikat | **A: årets hovedmål #1** |
| 6.4–2.5 | M-bro (2×30k+ MP, P4-port) | M-bro | Ingen bro — HM-restitusjon + 10k-bygg |
| 9.5 Genève | **Realisering per §1.3** (2:48–2:52-klassen) | A-innsats, aggressivt sikte nedre sone | **B-innsats** (effort-B): kontrollert MP-gjennomkjøring ~2:55+ |
| Mai–jun | postM-fredning (ingen 10k-A 15–45 d) → base | postM-fredning → base | 10k-sesong fra sent juni (Energimila-klassen, lokal = null eksponeringskost) |
| Jul–aug | Sommerbase (Italia-varme = naturlig adaptasjon, O1-rammene) | Sommerbase | 10k/HM-spissing; evt. Kbh HM sep som 1:19-jakt |
| Høst | **A-maraton: Valencia 5.12 (1. valg) / Frankfurt ~31.10 (2.) — mål 2:46–2:48** | 2. A-maraton (Berlin 26.9 el. Frankfurt) + evt. Valencia = 3 M på året | Ingen høst-M — HM/10k-PB-jakt, M hviler til 2028 |
| Eksponeringer (A-race-klassen, F15) | **3** (Praha, Genève, høst-M) — samme som 2026 | 4–5 — flest vinduer, F15-prisen | 2–3, laveste risiko |
| Velges hvis | Amsterdam 2:48–2:52 + lab kvitterer motoren (F18 default) | Amsterdam viser at utførelses-varians (ikke kapasitet) er gapet | Amsterdam avslører motor-tak, eller høsten 2026 koster ny infeksjonsrunde |
Merk for Form A′: porteføljen holder eksponeringslinja fra 2026 (3 A-race-klasse-vinduer) bare hvis det IKKE legges en ekstra sensommer-HM inn — Praha bærer HM-sertifikatet for hele året. En sep-HM (Kbh-slotten) er i A′ en luksus som koster et fjerde vindu; ta den bare hvis høst-M ligger i desember (Valencia) så avstanden er ≥10 uker.
| # | Løp | Dato 2027 | Avstand fra Genève | For | Mot |
|---|---|---|---|---|---|
| 1 | **Valencia** | søn 5.12 (typisk slot, ikke offisielt bekreftet) | T+30 u | Carls beste vær-odds (racesnitt 10,7°/11,9° i -22/-24), flat, tog/TOSK-presedens, 2 PB der, lengst runway (full sommerbase + hel høstblokk) | Desember = lang sesong å holde; reise lengst |
| 2 | **Frankfurt** | ~31.10 (siste okt-søndag; okt er fast slot) | T+25 u | PB-banen 2025 (7,3° racesnitt), flat, kaldt-garantien best i oktober-klassen | 2025-blokka der kjøpte 7 sykedager på 98 km/u — dose-, ikke arena-feil, men respekter taket 85–95 |
| 3 | Amsterdam | ~17.10 (typisk slot) | T+23 u | Kjent logistikk/bane fra 2026; fasit-sammenligning år-over-år | Ingen fordel utover det kjente; vær-odds som Frankfurt minus |
| 4 | Berlin | søn 26.9 (bekreftet) | T+20 u | Feltet/toget dypest av alle | Tidligst: hele spissbygget i juli-august-varme, kortest absorbsjonsrom etter Genève-sesongen; 2024-magekniprisikoen er øvbar (R4), men slotten er strukturelt trangest |
Vær-vinduet (tverrmaraton F8) er rangeringens ryggrad: alle maraton-PB ligger på 7–12° racesnitt, og sen oktober–desember er de eneste slotsene som nesten garanterer det. Mål-sone høst-27: 2:46–2:48 (F18 scenario A: «2:47–2:48 sent 2027»), forutsatt Genève-våren leverte sub-2:50 eller nær.
F18-rammen: 2:45 krever AG ~79,4 % (43 år) / 80,0 % (44) — Carl er på 74,7 % og stiger ~2 poeng/år → forsøksvinduet er 2028–2029 (44–45 år), peak-window-slutt ~46, sub-2:50 holdbart til ~46–47 hvis kontinuiteten holder. F17 §5: aldringen biter først i restitusjon/immun, ikke i farten. Det gir en årsmal, ikke en løpsliste:
| Dom | Konfidens | Hvorfor |
|---|---|---|
| Praha matcher PB-profilen (flat/rask, 6–12°, tog) | **A** | Tre uavhengige fakta-akser, alle verifisert (løyperekord/Elite Label, klimanormal + 10:00-start, RunCzech-fartholdere) |
| Genève matcher ikke PB-profilen (profil + varme + tog-mangel) | **B+** | D+-tallet varierer per kilde (300–385 m; GPX bør hentes før pacing), men «rolling» er arrangørens eget ord, pacer-lista (3:00 gulv) og mai-normalene er entydige |
| Genève som realisering på T−5-near-anker er riktig rolle | **B** | Near-anker-logikken har 2026-presedens (Kbh T−4), men n=1 og Amsterdam-fasiten foreligger ikke ennå |
| Hybrid-vinteren (motor + bro) over dedikert vinter-M-blokk | **B** | Val-22/Val-24-presedensen er reell (2 PB på cappede blokker på høy base), men begge var høst-cappet, ikke vår; mølle-vinter→vår-M er uprøvd (og P5 nås ikke — priset inn i §1.3-siktene) |
| Valencia > Frankfurt > Amsterdam > Berlin for høst-27 | **B** | Vær-vinduet (F8, A-funn) + runway-logikk; datoene for Valencia/Frankfurt/Amsterdam er typiske slots, ikke offisielle |
| 2:45-vinduet 2028–29, årsmal 1+1+lokale-10k | **B/C** | Arver F18s ekstrapoleringsforbehold i sin helhet (aldringskurven er lånt, n=0 på Carls egen aldersbrems) |
Én-linje for konsolideringsøkta: `Running_Report_RacePortefolje_v1.md` — Praha 3.4.27 GO som A-sertifikat (flat/rask + 6–12° + tog = full PB-profil-match; strek 1:19:08 = 2:45-motoren); Genève 9.5.27 matcher ikke PB-profilen (rolling ~300–385 m D+, mai 12–17°, ingen fartholdere under 3:00) men er riktig plassert som realiserings-løp på T−5-near-anker — mål settes av Praha-fasiten (2:48–2:52-klassen, aldri 2:45); vinter-konflikten løses med hybrid (motor-vinter + 3–5×30k+ innbakt + 5-ukers M-bro; Val-22/24-presedensen), ikke dedikert vinter-M-blokk; høst-27: Valencia 5.12 > Frankfurt > Amsterdam > Berlin, mål 2:46–2:48; 2028–30: årsmal 1 vår-HM + 1 høst-A-M + lokale 10k (F15: null eksponeringskost), 2:45-forsøk 2028–29 (44–45), 2030 forsvar; alt betinget Amsterdam + lab aug/sep — beslutningspunkt desember 2026. Kun egen fil skrevet, parallellprotokoll holdt.
FABLE-9 · skrevet 2026-07-06 · kilder: `quality.json` (415 intervalløkter), `lactate_log.json` (21 økter m/ in-session laktat), `zones.json` (`lactate_profile_lab` + `physiology_by_period`), `Sessions/tester/` (to lab-tester), `training_blocks.json` (LÅST, kun lest), `fitness_filter.json`. Alt read-only. Spørsmålet: hva flyttet LT2 fra ~3:55 (2024) til 3:49 (lab 24.02.26), og hvilken terskeldose u29–37 leverer S1s 2–3 s/km til København HM?
LT2-løftet er ekte og lab-forankret, men to ting skjerpes mot S1-formuleringen: (1) løftet er større enn 6 s/km når man matcher laktat-terskelen mellom de to lab-testene (9 s/km ved 3,3 mmol, ~14 s/km ved 4 mmol), og (2) hovedtyngden av løftet ligger før Berlin-HM-blokka — in-session-laktaten viser at 3:44/km allerede satt LT2 (3,3 mmol) i februar 2025. Berlin-blokka konsoliderte (gjorde 3:49 aerobt billig, <2,7 mmol) mer enn den flyttet 4-mmol-farten. For Kbh er den operative spaken K6-speilet: 8-ukers I3-dragsnitt før løpet ≈ racefart (Berlin: dragsnitt 3:51 → race 3:50). Sein-blokk-dosen u29–37 må derfor dra I3-dragsnittet fra dagens 3:55-median ned mot ≤3:47, med de skarpeste I3/I4-øktene på 3:43–3:45. Konfidens: B for 2024→2026-banen (to labber + 46 in-session-punkter), C for alt før 2024 (laktat mangler, proxy er dose-konfundert).
De to lab-testene er de eneste sanne LT2-målingene i materialet. De brukte ulik terskeldefinisjon, og det må korrigeres før man leser av «løftet»:
| Lab | Dato | Protokoll | LT2-def | LT2-pace (rapportert) | LT2-HR |
|---|---|---|---|---|---|
| Løplabbet Lade (Leirdal) | 2024-03-01 | 5 trinn, 0 % | **4 mmol** | 3:57/km (15,2 km/t) | 164 |
| Granåsen (Moxnes) | 2026-02-24 | 5-min-steg, 0 % | **3,3 mmol** | 3:49/km (15,7 km/t) | 169 |
Matcher man laktat-nivået (interpolert fra begge testenes trinn-punkter):
Uansett hvilken terskel man legger til grunn er det reelle LT2-løftet større enn de 6 s/km S1 oppgir (S1s «~3:55→3:49» ligger nær 3,3-mmol-tallet, men undervurderer 2024-baselinen — den var 3:57–3:58 på lab, ikke 3:55). Samtidig flyttet HR ved terskel seg oppover (164→169) og HRmax nedover (lab-konvensjon 185→186, alderslinje), så løftet er ekte fysiologi, ikke en pulsdrift-artefakt.
Treningsproxyen (median I3/I4-pace, 56-dagers vindu — det `training_fitness.lt2_asof` faktisk regner) sporer samme retning, men er trégere og era-konfundert:
| Kvartal | Proxy-LT2 | Kvartal | Proxy-LT2 | |
|---|---|---|---|---|
| 2022-Q1 | 4:22 | 2024-Q3 | 4:00 | |
| 2022-Q3 | 4:09 | 2024-Q4 | 4:08 | |
| 2023-Q2 | 4:25 | 2025-Q2 | **3:50** | |
| 2023-Q4 | 4:00 | 2025-Q4 | **3:48** | |
| 2024-Q1 | 4:00 | 2026-Q1 | 3:52 | |
| 2024-Q2 | 4:05 | 2026-Q2 | 3:55 |
Proxyen bekrefter et brudd rundt sommer/høst 2023 (4:20→4:00) og en ny senkning sommer 2025 (→3:48–3:50), men den svinger ±10 s/km på øktvalg og taper — den er en trend-indikator, ikke en LT2-måler.
Funn 1 — In-session-laktaten daterer løftet til før Berlin-HM-blokka. Dette er rapportens viktigste nyanse. Sporet av «pace som gir LT2-laktat»:
Lest sammen: det store LT2-løftet (~3:55→3:44) falt i 2024→tidlig 2025, drevet av volumekspansjonen i Kbh-M- og Berlin-M-blokkene 2024 (builds på 100/88 km/u, I3-km/u opp i 11–12). Berlin-HM-blokka vår 2026 flyttet ikke 4-mmol-farten mye videre — den gjorde 3:49 sub-terskel (senket laktat ved gitt fart), som er nøyaktig det som lot ham løpe Berlin HM på lab-LT2 i 80 minutter uten å sprekke. S1s mekanisme er riktig, men krediteringen bør splittes: plattformen ble bygd 2024–25; Berlin-blokka realiserte den.
Funn 2 — Dobbel-terskel er signaturen på konsolideringsfasene. De to periodene med tettest LT2-senkning har begge høy dobbel-terskel-frekvens: Kbh/Berlin-M-æraen 2024 (3–5 dobbel-dager per build) og Bakken-basen nov–des 2025 (10 dobbel-dager på 8,7 uker, I3 7,8 km/u) som ledet rett inn i Berlin-HM-formen. Mekanismen (Seiler/norsk dobbel-terskel: mye tid akkurat på/under LT2 med lav enkelt-øktbelastning) rimer med at det er laktat-ved-fart som faller, ikke nødvendigvis maks-terskelfarten.
Funn 3 — K6-speilet er den operative dose→respons-loven. For hvert HM/10k har jeg regnet racefart mot vektet I3-dragsnitt de siste 8 ukene før løpet:
| Løp | Racefart | I3-dragsnitt 8u | Diff |
|---|---|---|---|
| Berlin HM 2026 (1:21:19) | 3:50 | 3:51 | **−2 s** |
| Trondheim HM 2025 (1:24:24) | 3:59 | 3:54 | +6 s |
| Nidaros 10k 2023 (39:58) | 3:58 | 4:14 | −16 s |
| Oslo 10k 2023 (39:26) | 3:53 | 4:00 | −7 s |
| Bane-10k 2024 (38:38) | 3:52 | 4:02 | −11 s |
| EnergiMila 2025 (37:24) | 3:44 | 3:55 | −11 s |
For HM er speilet nesten 1:1 (Berlin −2 s): racefarten ≈ sein-blokk-I3-dragsnittet. For 10k løper han 7–16 s/km raskere enn HM-pace-draget (som forventet — kortere distanse). Dette gir en direkte, testbar dosemål-regel for Kbh (§3). Konfidens B: én HM med full dokumentasjon i det nye pace-regimet, men mekanismen er den samme som gjorde `10k-terskeldose` og LT2-øktpace til modell-features.
Funn 4 — I3-øktfart per år bekrefter en jevn, ikke sprangvis, senkning (median økt-pace, ikke lab): 2022 4:30 · 2023 4:15 · 2024 4:05 · 2025 4:00 · 2026 3:55. ~7 s/km per år siden 2022. De skarpeste enkeltøktene i 2026 traff allerede 3:45 (og 3:38 på I4 i 2025), så toppen av dose-repertoaret er der; det er snittet som må dras ned for Kbh.
Gapet er 1:21:19 → 1:19:59 = 3,8 s/km (3:51→3:47), hvorav S1 skal levere 2–3. Oversatt til dose via K6-speilet (Funn 3): 8-ukers I3-dragsnitt inn mot Kbh må ned fra dagens ~3:55-median til ≤3:47 — altså 8 s/km raskere gjennomsnittlig terskelfart enn i dag, med racefarten som følger draget.
Konkret dose (u29–37), forankret i blokkene som faktisk flyttet LT2:
| Parameter | Mål u29–37 | Forankring |
|---|---|---|
| I3/I4-volum | **11–13 kval-km/u** | Kbh-M-24 (11,2) + Berlin-HM-26 (11,8) er de to blokkene med sterkest LT2-konsolidering; London-25 (11,9) holdt 3:49-proxyen. |
| Drag-pace, hoveddose (I3) | Progresjon **3:49 → 3:45** over blokka | In-session: 3:49 er nå <2,7 mmol → det er *for lett* til å flytte terskel videre. Draget må ligge der laktat = 3–3,5 mmol, dvs. 3:45–3:47. |
| Skarpeste I3/I4-økter | **3:43–3:45** (I4-1000-metere ned mot 3:40–3:42) | K6: for Kbh 3:47 må sein-blokk-toppfarten speile HM-pace med margin. 2025 nådde 3:38 på I4 — kapasiteten finnes. |
| Dobbel-terskel | **≥1 dobbel-uke hver 3.–4. uke** | Funn 2: konsolideringssignaturen. Nov-2025-basen (10 dobbel-dager) → Berlin-form. |
| 8-ukers I3-dragsnitt (K6-porten) | **≤3:47 innen ~1. september** | Direkte Kbh-prediktor (Funn 3). Mål-porten som bør vises mot planen. |
| Lab-retest | aug/sep (planlagt, PREDICTION_MODEL §9) | Verifiser at 4-mmol-farten faktisk er ≤3:45 før Kbh — eneste harde sjekk. |
Energimila-speilet (10k, 12.8): samme motor, kortere billett. K6 sier 10k-racefart ligger ~11 s/km under I3-draget, så et 8-ukers I3-dragsnitt på ~3:52–3:55 er nok for 36:5x. Dosen over dekker dette med margin; Energimila er go/no-go-lampen, ikke en egen doseringsjobb.
Era-konfundering (den store). `physiology_by_period` holder HR-sonene faste for hele 2023–2026 (LT2-HR 169, Carl-beslutning, låst), men brukte ulike HR-bånd 2020–2022 (LT2-HR 170→172, HRmax 191→189). En «I3-økt» i 2022 er derfor ikke pulslikt en I3-økt i 2026, og pace-en reflekterer både form og sonedefinisjon. Derfor: proxy-tall før 2023 (§1, venstre kolonne) er retningsindikatorer, ikke målinger — konfidens C. All kvantitativ dose→respons her hviler på 2023–2026, der HR-rammen er konstant.
Laktat er tynn før 2024. Første in-session-måling er 12.02.2024; første lab er 01.03.2024. Hele 2019–2023-LT2 er proxy-only. «~3:55 (2024)»-baselinen er godt underbygd (lab + 6 in-session-punkter), men «hva LT2 var i 2022» kan ikke tallfestes bedre enn «et sted rundt 4:15–4:25, dose-konfundert».
Dose-konfundering i proxyen. `lt2_asof` = median valgt I3/I4-øktpace. Kontrollerte base-økter ser trege ut uten å være det (fitness_filter blåser derfor opp R for lt2/vo2 med 1,4×/1,8×). Proxyen kan altså vise «tregere LT2» i en base-fase som i virkeligheten bygde terskel — nok en grunn til at lab + in-session-laktat er ankeret, ikke proxyen.
To lab-tester, to terskeldefinisjoner. Den vanligste feilen her ville vært å lese «3:57 → 3:49 = 8 s» rått. Det blander 4-mmol-fart med 3,3-mmol-fart. Matchet laktat er løftet 9 s (ved 3,3) eller ~14 s (ved 4) — begge oppgitt i §1 så leseren ikke arver feilen.
Vindusdefinisjon vs FABLE-5. S1 oppgir Berlin-dosen som «80 km/u, 22,1 kval-km/u, 209 drag». Min måling på det rene 12-ukers build-vinduet (jan–mar 2026) gir 89,6 km/u løpsvolum, 16,1 kval-km/u, 124 I3-drag @ 3:52. Differansen er vindus-definisjon (S1 favner trolig Bakken-basen nov–des 2025 med inn, ~20 uker) — ikke en motsigelse. Begge tall er riktige for sitt vindu; jeg oppgir mitt eksplisitt så u29–37-dosen (§3) er kalibrert mot den rene byggefasen.
LT2-dosen er nå tallfestet: I3/I4 11–13 km/u, drag-pace 3:49→3:45, K6-port «8-ukers I3-dragsnitt ≤3:47 innen 1. sept», dobbel-terskel hver 3.–4. uke, lab-retest aug/sep. S1 (2–3 s/km) er dekket hvis draget faktisk faller til laktat-terskelen (3:45), ikke bare til den nå-sub-terskel-lette 3:49-farten. Det er den ene kalibreringen v3 bør notere som åpen til lab-retesten kvitterer.
FABLE-19 · skrevet 2026-07-07 · kilder: `quality.json` (665 økter → 632 klassifiserte kval/langtur), `training_fitness.py` (aerob@128, LT2- og VO2-proxy — de kontinuerlige responsmålene), `fitness_filter.json` (fusjonert 10k-ekv / q155-race-form), `training_load.json` (CTL/volum), `training_blocks.json` (LÅST, kun lest). Alt read-only, ingen pipeline-/data-skriv. Spørsmålet: dose→respons per stimulus-klasse — hva gir målbar formrespons, er Carl volum- eller intensitetsresponder, og finnes interaksjoner?
Avgrensning mot F9: F9 eier terskel-dosen (LT2 3:49→3:45, K6-porten). Denne går bredere — alle stimulus-klasser mot alle form-kanaler — og legger to ting F9 ikke hadde: (1) et responder-oppgjør (volum vs intensitet, på det kanalen som faktisk er uavhengig av dosen), og (2) tidskonstanter (hvor fort hver akse svarer). Terskel-tallene her dupliserer ikke F9; de rammer den inn responder-teoretisk.
Carl er en volum-responder på den aksen som betyr mest for løpsform, og en terskel-responder på LT2-aksen spesifikt — men LT2-aksen er nær taket, så marginalflyttene der er små.
Tre funn bærer rapporten:
1. Den aerobe motoren er nesten ren volum. `aerob@128` — det eneste responsmålet som er uavhengig av kvalitetsdosen (regnes kun fra rolige løp) — sporer akkumulert løpsvolum med r ≈ −0,87 over hele materialet og −0,41 innen den låste sone-æraen (2024–26). Den fusjonerte 10k-ekv-formen (q155/race) sporer volum enda tettere (−0,98 / −0,65), og et fremtidsrettet mål (volum-anomali → bedring de neste 2–6 ukene) gir +0,34 — den reneste «dose så respons»-signaturen i settet. Volum er makrospaken. Tidskonstant: ~26 uker (treg).
2. Terskelform (LT2) svarer på terskeldose, og svarer raskere (~4–8 uker). Men det store LT2-løftet (2023→24, −18 s/km i årsmedian, opptil −23 mellom sommer-23 og sommer-24) er over-determinert — volum, terskeldrag, MP-langtur og dobbel-terskel eksploderte samtidig — og innen den moderne høybase-æraen er signalet svakt (r = −0,28) fordi han er nær taket (F9: plattformen er alt bygd). Terskel-responsen er ekte, men delvis sirkulær (proxyen er definert av de samme øktene som utgjør dosen) og nå småstegs.
3. Dobbel-terskel er en terskel-spesifikk høybase-spak, ikke en base-bygger. Mølle-vinteren 2025/26 (10 dobbel-dager, værtvunget) er det reneste natur-eksperimentet: LT2 −8 s/km, mens `aerob@128` og fusjonert form sto stille. Interaksjonstesten bekrefter: LT2-gevinsten etter dobbel-uker lander kun på høy base (n=10 på høy, n=1 på lav — han gjør dem aldri på lav base, som i seg selv er svaret).
Operativ konsekvens: vinter-basen 26/27s volum er den høyest-ROI investeringen for generell form (treg spak, må starte tidlig); terskel-skjerpingen u29–37 (F9s 3:45-drag) er en rask spak som slår inn i tide før Kbh; dobbel-terskel hører hjemme i vinter-basen på høyt volum, ikke som sein skjerpe-verktøy; og 4×4/kort-VO2/bakke er uprøvd for Carl — ikke over-invester, men heller ikke avskriv (4×4 kjørte bare én æra).
Konfidens: B+ for volum-responder-funnet (uavhengig kanal, replikert innen-æra + fremtidsrettet), B for dobbel-terskel-på-høybase (natur-eksperiment + interaksjon), C for finkornet klasse-rangering utover det (selv-seleksjon + sirkularitet + era kan ikke regnes bort).
Fire kontinuerlige form-kanaler, alle i sekunder/km (lavere = raskere = bedre):
| Kanal | Hva | Uavhengig av kval-dosen? |
|---|---|---|
| **`aerob@128`** | Puls-normalisert rolig-pace @ HR 128 (rullende 42-d median, kun rolige løp) | **JA** — regnes utelukkende fra rolige økter. Den eneste rene responsmålingen. |
| **fusjonert (10k-ekv / q155)** | Kalman-fusjon av race + matchet-puls-signal | **Stort sett** — dominert av race + q155, ikke av øktpace. |
| LT2-proxy | Median I3/I4-øktpace (56-d) | **NEI, delvis sirkulær** — dosen (terskeldrag) *definerer* metrikken. |
| VO2-proxy | Median I4/I5-øktpace (56-d) | **NEI, delvis sirkulær** + støyende. |
Dette skillet er hele rapportens metodiske ryggrad. Å «vise» at terskeldrag flytter LT2-proxyen er nesten en tautologi: raskere terskeldrag er en bedre LT2-proxy. Derfor vektes `aerob@128` og fusjonert form som de sanne responsmålene, og LT2/VO2 leses som bekreftende men delvis definisjonelle.
Form-banen per år (median, s/km):
| År | aerob@128 | LT2 | VO2 | fusjonert (10k-ekv) |
|---|---|---|---|---|
| 2020 | 360 | 263 | 263 | 268 |
| 2021 | 355 | 261 | 254 | 255 |
| 2022 | 352 | 264 | 259 | 258 |
| 2023 | 343 | 258 | 237 | 247 |
| 2024 | 327 | 240 | 249 | 236 |
| 2025 | 323 | 240 | 232 | 234 |
| 2026 | 316 | 233 | 225 | 230 |
`aerob@128` faller monotont hvert eneste år — den jevneste kurven i materialet. LT2 gjør sitt sprang 2023→24 og står så nær stille. Det mønsteret alene peker på svaret: den aerobe aksen er en glidende volum-funksjon, terskel-aksen er en steg-funksjon som ble bygd og så nådde tak.
Klassifiseringen delte de 632 kval/langtur-øktene i klasser (drag 1000/2000, tempo-tid, 45/15, kort-VO2, 4×4-mølle, bakke, MP-langtur, terskel-/progressiv-/volum-langtur) + dobbel-terskel som et dag-nivå-trekk (20 dobbel-dager, korrigert deteksjon: ≥2 distinkte intervalløkter samme dag). Metoden kjørte tre kutt for å bryte era-trenden: (a) nivå-korrelasjon dose↔kanal, (b) 26-ukers endring i kanal vs dose i samme vindu, (c) fremtidsrettet uke-anomali (detrendet per år). Rangeringen under vekter de minst sirkulære kanalene tyngst.
| Rang | Stimulus | Flytter hvilken kanal | Evidens (retning, styrke) | Konfidens |
|---|---|---|---|---|
| **1** | **Ren volum (rolig km)** | aerob@128 + fusjonert race-form | Nivå aerob~vol **≈−0,87** (lifetime), **−0,41** (låst æra); d_aerob~volum **+0,45** (låst æra); fusjonert~vol **−0,98/−0,65**; *fremtidsrettet* fusjonert~vol **+0,34**. Konsistent på tvers av alle tre kutt, på den uavhengige kanalen. | **B+** |
| **2** | **MP-langtur** | LT2/aerob (blandet) | d_LT2~26u **+0,25**; men MP-dose ↔ volum r=**0,48** — kan ikke skilles fra volum. Sannsynlig ekte, ikke rent identifisert. | **C+** |
| **3** | **Terskeldrag (1000/2000) + dobbel-terskel** | LT2-proxy (rask, ~4–8 u) | LT2~terskel-dose −0,81 (lifetime), −0,28 (låst æra); dobbel-terskel isolert i mølle-eksperimentet (**−8 s LT2**, §4). Sterkt for plattform-steget/mølle; svakt + sirkulært finkornet. | **B / C** |
| **4** | **45/15 (on-off)** | LT2 (svakt) | d_LT2~26u +0,16; folder inn i terskel. Ingen selvstendig signatur. | **C** |
| **5** | **4×4-mølle / kort-VO2** | VO2-proxy (svakt, sirkulært) | Uke-anomali vo2~4×4 +0,18, ~dobbel +0,23 — men sirkulært, og 4×4 kjørte **kun 2024** (85 km, så borte). Ingen ren VO2-kanal å teste mot. | **C− / utilstrekkelig** |
| **6** | **Bakke** | (VO2/fusjonert, tilsynelatende) | Uke-anomali +0,21 på flere kanaler — men n=12, **kun 2022–23**, fullstendig era-konfundert med 2023-gjennombruddet. Ikke tolkbart. | **utilstrekkelig** |
Den harde lærdommen i tabellen: bare rad 1 tåler alle tre kuttene på en uavhengig kanal. Alt under rad 1 er enten sirkulært (terskel/VO2), sammenfiltret med volum (MP), eller n-skjørt/era-låst (4×4, bakke). Det er ikke en svakhet ved analysen — det er responder-profilen: én robust makrospak (volum), én rask men nær-tak mikrospak (terskel), og en hale av stimuli som ikke har nok rent varierende dose til å dømmes.
Det tydeligste enkeltresultatet kommer fra 26-ukers-endring innen den låste sone-æraen (2024–26, der HR-rammen er konstant — minst era-artefakt):
| 26-u endring i … | vs rolig-volum i vinduet | vs terskel-dose i vinduet |
|---|---|---|
| **aerob@128** (bedring) | **+0,45** | **−0,46** |
| LT2-proxy (bedring) | −0,07 | −0,06 |
`aerob@128` bedres i volum-tunge vinduer og, om noe, svekkes i intensitets-tunge vinduer (fordi intensitet fortrenger den rolige kilometeren som driver signalet). LT2-endringen lar seg ikke rent forklare av noen av delene innen-æra — fordi de moderne LT2-flyttene er små og lumpy (nær tak, F9). Dette er den ærlige versjonen: volum-aksen er styrbar og forutsigbar; terskel-aksen er nesten ferdig-bygd.
Tidskonstantene (nivå-korrelasjon mot ulike trailing-vindu) forklarer hvorfor de to spakene brukes forskjellig:
| Kanal | Best vindu | r ved 4 u | r ved 8 u | r ved 26 u |
|---|---|---|---|---|
| aerob@128 vs volum | **26 u** | −0,81 | −0,87 | **−0,91** |
| LT2 vs terskel-dose | (raskt) | **−0,68** | −0,76 | −0,82 |
Den aerobe motoren er en treg akkumulator (~6 mnd tidskonstant — best forklart av et halvårs volum). Terskelformen svarer allerede innen fire uker (−0,68) og er praktisk talt mettet ved åtte. Det er den fysiologiske begrunnelsen for hele periodiserings-arkitekturen: du kan skjerpe terskel raskt inn mot et løp (F9s K6-port ved 8 uker fungerer nettopp derfor), men den aerobe basen må bygges måneder i forveien og kan ikke hastes fram i en skarp blokk.
Dom: Carl er volum-responder på den aksen som transfererer til racefart (aerob base → fusjonert 10k-ekv, den minst sirkulære målingen, sterkest volum-koblet), og terskel-responder på LT2-aksen — men den er rask og nær tak, så den gir skarphet, ikke nivå. 2:45-motoren (F9s 3:45-terskel) krever derfor terskel-skjerpingen oppå en vernet volum-base, ikke i stedet for den. Det er nøyaktig F17s «plattform + spak»-arkitektur — nå med tidskonstantene festet.
Dobbel-terskel × base (bekreftet). Formet som spørsmålet stilte det — er dobbel kun effektivt på høy base? Ja, empirisk:
| Tilstand | LT2-bedring de neste 2–6 u | n |
|---|---|---|
| Dobbel-uke + høy base (≥median uke-km) | **+2,6 s/km** | 10 |
| Dobbel-uke + lav base | +1,7 s/km | 1 |
| Ingen dobbel (alle uker) | +0,2 s/km | 323 |
Han gjør nesten aldri dobbel-terskel på lav base (n=1) — atferden er selv svaret: dobbel-terskel er et høybase-verktøy i praksis. Og når den brukes, følges den av ~13× større LT2-bedring enn en snittuke. Mølle-vinter-eksperimentet gjør mekanismen konkret og bryter selv-seleksjonen (dobbel var værtvunget, ikke formvalgt):
| Mølle-vinteren 2025/26 | aerob@128 | LT2 | fusjonert |
|---|---|---|---|
| Start (2025-11-01) | 312 | 240 | 229 |
| Slutt base (2026-02-15) | 317 (+5, verre) | **232 (−8)** | 230 (flatt) |
10 dobbel-dager senket LT2 ~8 s/km mens den aerobe basen faktisk gikk litt tilbake (vinter = mindre rolig utevolum + mølle) og fusjonert form sto stille. Det isolerer dobbel-terskel som terskel-spesifikk: den bygger ikke base, den skjerper motoren — og den gjorde det som lot Berlin HM løpes på lab-LT2 i 80 min (F9). Konfidens B: ett rent vindu, men det peker samme vei som interaksjonen og F9.
MP-langtur × volum (uatskillelig). MP-langturdose korrelerer 0,48 med rolig-volum — de kommer i de samme høyvolum-ukene. d_LT2 er +0,25 mot MP over 26 u, men jeg kan ikke skille MP-effekten fra volumeffekten den rir på. Ærlig utfall: MP-langtur er sannsynlig en ekte bidragsyter til terskel/durability (F17/tverrmaraton støtter det mekanistisk), men F19 kan ikke gi den en egen ren dose→respons-kurve. Flagges som C+.
Klasse-samvariasjon ellers er lav (de fleste uke-dose-par < 0,15) — det betyr at det ikke er uke-til-uke-samtidighet som er hovedkonfunderen, men den delte års-trenden (alt vokser sammen). Derfor er innen-æra- og endrings-kuttene (§3) de ærlige tallene, og lifetime-nivåene (§1–2) er trend-inflaterte referanser.
Sirkularitet (den skarpeste). LT2- og VO2-proxyene er definert av de samme øktene som utgjør intensitets-dosen. Enhver «terskeldrag → LT2-bedring»-kobling er derfor delvis en tautologi. Det er grunnen til at hele responder-dommen (§3) hviler på `aerob@128` (kun rolige løp) og fusjonert form (race/q155) — de eneste kanalene der dose og respons er reelt adskilt. Volum-responder-funnet er sterkt nettopp fordi den reneste kanalen er den tydeligste.
Selv-seleksjon. Carl periodiserer — han gjør mer terskel i terskelblokker, som også er når terskel forbedres (planlagt). Rå dose→respons kan derfor ikke skille «stimulus virket» fra «han doserte det når det uansett steg». Delvis brutt av: (a) innen-æra-kontraster, (b) natur-eksperimentet (værtvunget dobbel), (c) den uavhengige kanalen. Ikke fullt løsbart — flagges her, ikke bortforklart.
Era-konfundering. 2024–26 er bedre på volum, kvalitet, gruppe, utstyr, sone-definisjon og kunnskap samtidig. Lifetime-korrelasjonene (−0,88, −0,98) er derfor trend-inflaterte og oppgis kun som referanse; de innen-æra-lave tallene (−0,41, −0,65, +0,45) er de ærlige. Sone-æraene før 2023 er inkonsistente — all pre-2023-intensitet er retningsindikator (arvet fra F9/F17).
Tak-effekt. Den moderne LT2-aksen beveger seg lite fordi Carl er nær sitt tak der (F9). Svakt innen-æra LT2-signal er altså forventet, ikke en målefeil — men det betyr også at F19 ikke kan rangere de skarpe intensitets-klassene finkornet på LT2 i dag.
n og dekning. 4×4-mølle: kun 2024 (så borte) → ingen holdbar VO2-dom. Bakke: n=12, kun 2022–23 → utolkbar. Dobbel-terskel: 20 dager totalt, 10 i det ene rene vinduet → B, ikke A. Fravær av bevis ≠ bevis for fravær: at 4×4/kort-VO2 ikke kan påvises betyr ikke at de er nytteløse — bare at Carl aldri har kjørt dem i nok isolert dose til å måle. Det er i seg selv en anbefaling (§6).
Fusjonert 26u-endring er støyende. Den race-ankrede fusjonerte kanalen er stegvis; dens 26u-endring-mot-dose er upålitelig (høy-dose-vinduer ender ofte på en race-topp så detrening). Volum-dommen for fusjonert hviler derfor på nivå (−0,98/−0,65) + fremtidsrettet anomali (+0,34), ikke på 26u-endringen.
*Hold rolig-volum oppe gjennom kvalitetsblokkene. Den skarpeste innen-æra-effekten var at intensitets-tunge vinduer svekker* `aerob@128` (−0,46) — fordi intensitet fortrenger rolig km. Når terskel-dosen skrus opp u29–37 (F9), må ukevolumet ikke falle med den; base og skjerp er to spaker, ikke én. Praktisk: behold 85–95 km/u-plattformen (F17) mens F9s 3:45-drag legges oppå.
Stol på at terskel-skjerpingen slår inn i tide. LT2 svarer innen 4–8 uker → F9s K6-port («8-ukers I3-dragsnitt ≤3:47 innen 1. sept») er tidskonstant-riktig: skjerpingen rekker Kbh selv om den startes seint i blokka. Ikke fremskynd den på bekostning av basen.
Ikke forvent aerob-gevinst av høstblokka — den er allerede investert. `aerob@128` har ~6 mnd tidskonstant; formen som bærer Amsterdam ble bygd vinteren/våren 26. Høsten skjerper og vedlikeholder, den bygger ikke aerob base. Det avlaster presset på å «pakke inn» mer volum seint.
Volum er den høyest-ROI investeringen for generell form — og den må starte tidlig. Dette er F19s tyngste operative bidrag: fordi den aerobe/fusjonerte aksen (den som transfererer til racefart) er en treg volum-funksjon, er vinter-basens rolige kilometer den best dokumenterte spaken i hele materialet. Prioriter kontinuerlig volum-akkumulering fra november; den betaler ut i mars–mai.
Legg dobbel-terskel i vinter-basen, på høyt volum — ikke som sein skjerpe-blokk. Mølle-eksperimentet + interaksjonen sier dobbel-terskel er en høybase-terskelspak (−8 s LT2 over basen). Gjenta Bakken/mølle-malen (dobbel hver 3.–4. uke, F9), forankret i vinterens volum. Den bygger motoren for 2:45 (F9s 3:45-terskel) uten å kreve mer maks-volum (som traff sykdomstaket i 2025, F17).
*Bruk vinteren til å faktisk teste en uprøvd spak.* 4×4-mølle og kort-VO2 er de eneste klassene F19 ikke kan dømme — ikke fordi de er nytteløse, men fordi Carl aldri har kjørt dem i isolert nok dose (4×4 kun 2024). Vinter-basen 26/27, uten vår-maraton å taper mot (F17 prinsipp 4), er det riktige stedet å kjøre en avgrenset 4×4- eller kort-VO2-periode med lab-retest før/etter — så neste responder-analyse har en ren kurve å lese. Det er lavrisiko-nedside (VO2 61,7 er reserve, ikke beskrankning, F17) og potensiell oppside på den ene aksen materialet er blindt på.
Vern den rolige kilometeren mot intensitets-fortrengning. Samme regel som u29–41, men mer kritisk over en hel vinter: hvis en dobbel-terskel- eller VO2-test skrus opp, kompenser volumet så `aerob@128`-basen ikke eroderer (−0,46-effekten). Base først, skarphet oppå.
Responder-profilen: volum bygger nivå (treg, ~6 mnd, vernes); terskel/dobbel skjerper motoren (rask, ~4–8 u, høybase-verktøy); 4×4/kort-VO2 er uprøvd og bør testes rent i vinter-basen 26/27. Regelen som følger direkte: skru aldri opp intensitet på bekostning av rolig-volum — de er to spaker, og basen er den som transfererer til racefart.
Dato: 2026-07-06 · Økt: FABLE-4 (TODO) · Status: del 1 ferdig (varme-eksponeringsvinduet) + 4b ferdig · Del 2 (ETTER-vinduet): rammeverk lagt, utfylles av Opus etter 17.7
Kilder: `wellness.json` (flate felt + morning_snapshot), `activities.json` + `data/raw/strava/`, `data/cache/weather_archive/`, `illness_periods.json`, `alcohol_log.json`, `quality.json`, `training_load.json`, `COACH_INSTRUCTIONS.md`
Metode-note: all mellomregning holdt i minne/`_tmp` (ingen skriv til `data/`). Denne økta rørte KUN denne rapportfila (parallellregel). Konsolideringslinje nederst.
4a — Varme: Italia-oppholdet gir IKKE en ren plasmavolum-måling, fordi eksponeringsvinduet er dominert av tre konfundere som alle drar autonomien feil vei: høyde (Seefeld 1180 m, 26.6–2.7), reise/søvnbrudd, og alkohol (1–2 enh., ferie-logget). Difference-in-differences mot samme kalenderuker 2025 viser at markørene ble undertrykt under oppholdet, ikke forbedret: RHR +2,4 · HRV −5,6 · søvn −5,9 relativt til hva sesongen alene tilsier. Adaptasjonssignaturen dukker opp SENT og på lav høyde: de to siste dagene i Bolzano (240 m, 4.–5.7) faller RHR til 36–37 (under juni-baseline 38,5) med HRV 74–84 (over baseline 71), og 33,5 km-turen 5.7 i 25 °C ble holdt på snitt-HR 122. Det er et modest, delvis adaptasjonssignal — konsistent med litteraturens partielle akklimatisering ved <2 ukers passiv+aktiv varme, men for konfundert til å tallfeste plasmavolum presist. Den rene målingen er utladningsvinduet hjemme (T2.5, 19.7) — det er der del 2 leverer fasit.
4b — Søvn→kvalitet: Regelen «søvnscore <78 = aldri vellykket kvalitet» holder ikke — verken per økt eller i ukessnitt. I ukessnitt nådde 19 av 38 lav-søvn-uker (<78) en kvalitet ≥8. Per økt scorer bandet [74,78) faktisk høyere (snitt 7,65) enn [78,86). Den ekte inflekssjonen ligger på <74 (−0,65 poeng, 95 % CI [0,14–1,17], p=0,006) — men i multippel regresjon forsvinner søvn helt når HRV kontrolleres (β_søvn=+0,002, p=0,83; β_HRV=+0,030, p<0,001). Søvn er en proxy for HRV, ikke en selvstendig prediktor. Forslag: fjern «<78 aldri vellykket»-påstanden (empirisk feil), behold søvn som bekreftende markør, og hvis en frittstående terskel ønskes, flytt den til <74 som myk obs — ikke absolutt abort.
Italia-ferien behandles som et naturlig varme-eksperiment. Baseline = 4 uker hjemme før avreise. «Under» = eksponeringen så langt. Alt matches mot samme kalenderuker 2025 (Trondheim, 9–16 °C hele perioden) som sesong-kontroll, slik at vi kan skille varme-effekt fra vanlig sommer-drift.
| Vindu | Datoer | Sted | Temp (løp) | n dager |
|---|---|---|---|---|
| **PRE26** (baseline) | 25.5–21.6 | Trondheim | 9–18 °C | 28 |
| **UND26** (eksponering) | 22.6–5.7 | transit → Berlin → Dresden → **Seefeld 1180 m** → Bolzano 240 m | 16–28 °C | 14 |
| PRE25 (kontroll) | 25.5–21.6 2025 | Trondheim | 9–17 °C | 28 |
| UND25 (kontroll) | 22.6–5.7 2025 | Trondheim | 10–18 °C | 14 |
Reiselogg (fra GPS i råstreams): 21.–22.6 Oslo · 23.–24.6 Berlin (52,5 °N) · 25.6 Dresden · 26.6–2.7 Seefeld (Tirol, 1150–1180 m) · 3.–5.7 Bolzano/Eppan (227–243 m). Høyde-oppholdet midt i vinduet er den viktigste konfunderen (se §4).
Difference-in-differences (DiD) = (UND26−PRE26) − (UND25−PRE25). DiD isolerer det som er spesielt for 2026-vinduet fra vanlig sesong-drift.
| Markør | PRE26 | UND26 | Δ26 | PRE25 | UND25 | Δ25 | **DiD** | Tolkning |
|---|---|---|---|---|---|---|---|---|
| RHR | 38,5 | 39,6 | +1,2 | 39,9 | 38,7 | −1,2 | **+2,4** | motsatt av sesong — akutt strain |
| HRV | 71,1 | 68,0 | −3,1 | 66,5 | 68,9 | +2,4 | **−5,6** | undertrykt autonomi |
| Søvnscore | 85,7 | 78,6 | −7,1 | 82,8 | 81,6 | −1,2 | **−5,9** | varme+reise ødelegger søvn |
| Stress_avg | 18,7 | 23,9 | +5,1 | 21,3 | 21,4 | +0,1 | **+5,0** | nattlig belastning opp |
| Training readiness | 68,1 | 65,8 | −2,4 | — | — | — | — | (TR ikke i 2025-data) |
Lesning: I 2025 (kjølig) forbedret markørene seg svakt inn i «under»-vinduet (RHR −1,2, HRV +2,4) — normal sommer-form. I 2026 gikk alt motsatt vei. Under selve eksponeringen er dette en strain-fase, ikke en adaptasjons-fase. RHR PRE26 vs UND26 er signifikant forhøyet (MWU p=0,042), men — kritisk — dette er høyde- og reise-konfundert, ikke ren varme.
Splitter vi UND26 på høyde forsvinner det meste av «forverringen»:
| Del-vindu | Sted | RHR | HRV |
|---|---|---|---|
| Seefeld-uka (26.6–2.7) | 1180 m | **40,7** | **64,7** |
| Lav-høyde-dager (resten) | 40–240 m | 38,6 | 71,3 |
| **Bolzano sluttdager (4.–5.7)** | **240 m** | **36,5** | **79** |
| PRE26-baseline (referanse) | Trondheim | 38,5 | 71,1 |
De to siste dagene — etter nedstigning fra høyde, med ~10 dagers varmeeksponering i kroppen — viser den klassiske varmeadaptasjons-readouten: RHR under baseline (−2 bpm), HRV over baseline (+8 til +13). Dette er signaturen på (partiell) plasmavolum-ekspansjon: mer plasma → lavere hvilepuls og bedre vagal tonus når varme- og høyde-strainen slipper.
Løpsbekreftelse: Langturen 5.7 (33,5 km, 25 °C, Bolzano) ble holdt på snitt-HR 122 — eksepsjonelt lavt for distanse og temperatur. Decoupling var likevel 6,47 %, som er varmens signatur (kardiovaskulær drift fra termoregulering, ikke aerob svikt). Til sammenligning: den ene hete langturen i 2025-kontrollen (20.7.2025, 30 km, 24 °C) hadde decoupling 8,32 % og score falt til 6,5. 2026-turen holdt score 8,3 til tross for lengre distanse i samme varme — et tegn på at kroppen håndterer varmelasten bedre nå enn kontrollåret.
Tre konfundere gjør at eksponeringsvinduet ikke kan gi et presist plasmavolum-tall:
(a) Høyde (størst). Seefeld 1150–1180 m midt i vinduet hever RHR og senker HRV akutt — stikk motsatt av varmeadaptasjonens retning. Seefeld-uka (RHR 40,7 / HRV 64,7) drar hele UND26-snittet feil vei og maskerer varme-signalet. Dette er grunnen til at adaptasjonen først blir synlig etter nedstigning.
(b) Reise/søvn. Søvnscore falt −5,9 (DiD) — den klareste enkelt-effekten. Nye senger, sen middag, varme netter. Søvnbrudd senker HRV uavhengig av varme.
(c) Alkohol. `illness_classification.json` typer 25.–29.6 og 3.7 som stress (ferie: varme/flytting/alkohol 1–2 enh.), eksplisitt IKKE infeksjon. Alkohol nuller illness-score men senker HRV og hever RHR/stress natten etter. Dette overlapper Seefeld-innreisen og forsterker (a)+(b).
Ferie-episoden er et SEPARAT fenomen. Stress-periodene 17.–18.6, 25.–29.6 og 3.7 (peak-score 4,0–5,5, alle stress-typet) er reise/varme/alkohol-drevet dysregulering — ikke et varme-adaptasjons-signal og ikke residiv av post-Berlin-infeksjonen (jf. T2-evalueringen: 14/14 BALANCED, null infeksjon siden april). De skal ikke telles som «varmen gjorde ham syk». Detektoren måler autonom forstyrrelse og kan ikke skille varme-strain fra begynnende adaptasjon — derfor er den nøytral her.
Temp-justert EF på rolige økter (justering ~1,6 s/km per °C over 12 °C-referanse, fra vær↔pace-kurven) ble testet som aerob-readout:
| Vindu | Rå-EF (median) | Temp-just. EF (median) |
|---|---|---|
| PRE26 | 2,527 | 2,541 |
| UND26 | 2,394 | 2,462 |
| PRE25 | 2,502 | 2,490 |
| UND25 | 2,314 | 2,334 |
Temp-justering henter tilbake mesteparten av rå-fallet (UND26-gapet krymper fra −0,133 til −0,079). Men 2025-kontrollen faller like mye (−0,156 rå / −0,156 just.) UTEN noen varme — så EF-fallet i deload-vinduet er i hovedsak øktsammensetning (hvilke rolige turer som ble logget, høyde-turene i Seefeld), ikke fysiologi. Konklusjon: EF er for støyete i et 2-ukers ferie-vindu til å være readout. RHR/HRV-banen (§3) og den hete langturen er de troverdige signalene. Den rene EF/pace@128-målingen hører hjemme i normaltemperatur hjemme (T2.5).
Proxy (RHR-fall + HRV-respons): Det beste enkelt-estimatet er sluttvinduet på lav høyde: RHR −2 bpm og HRV +8 til +13 vs baseline. I varmeadaptasjons-litteraturen svarer et RHR-fall av denne størrelsen til ~2–4 % plasmavolum-ekspansjon — altså partiell akklimatisering (full akklimatisering, 5–6 % PV / RHR −5–10, krever 10–14 dager sammenhengende aktiv varme, som dette oppholdet ikke var — det var avbrutt av en høyde-uke). Karakter på signalet: B− (reelt, men modest og konfundert).
Forventet utladning hjemme (17.7→): Plasmavolum-gevinst fra varme er ferskvare — den decay-er over ~7–14 dager uten fortsatt varme-stimulus. Trondheim i slutten av juli er 15–20 °C, så stimulusen forsvinner ved hjemkomst. To scenarier:
Vi vet ikke hvilket scenario før målingen. Det er hele poenget med å designe del 2 som en ren utfylling.
Til u29 (siste ferieuke, 6.–16.7):
Til T2.5-tolkning (19.7, hjemkomst):
Blokkplanen/T2-evalueringen har allerede definert T2.5-readouten (HRV-baseline, RHR-7d, CTL, én pace@128 i normaltemperatur). Denne rapporten gir forventnings-ankeret for de tallene:
Del 2 forlenger nøyaktig samme struktur med ETTER-vinduet (14 d hjemme, 17.–31.7). Alt under er spesifisert så Opus bare fyller inn tall:
1. Definer vinduene: ETTER26 = 17.–31.7.2026 (Trondheim, normaltemp). Kontroll: ETTER25 = 17.–31.7.2025 (allerede delvis uttrukket her — Trondheim, se §1-kontrollen; utvid til 31.7). DiD-strukturen fra §2 gjenbrukes: (ETTER26−PRE26) − (ETTER25−PRE25).
2. Utladnings-kurve: plott RHR + HRV dag-for-dag 17.–31.7 mot PRE26-baseline (38,5 / 71,1). Se etter (a) om RHR starter lavt (36–37) og stiger mot baseline over ~10 dager = adaptasjon som decay-er, eller (b) starter forhøyet = ingen banket gevinst. Marker decay-halveringstiden.
3. pace@128 / temp-just. EF hjemme: kjør §5-metoden på ETTER26-rolige økter (nå i normaltemp, så justeringen er nær null → ren readout). Sammenlign mot PRE26 (2,541) OG mot den hete UND26. Dette er den rene aerob-effekten oppholdet ikke kunne gi.
4. Kvalitets-readout: første 2–3 hjemme-kvaliteter (u30–31) — score + HR_steady_state vs pace. Lavere HR på samme pace de første øktene = adaptasjonsvindu utnyttet.
5. Fasit-linje: «Kostet Italia-oppholdet mer enn det ga, eller banket det en utladbar form-topp?» — konkluder med karakter (A/B/C) og en setning til blokkplanens u30-dosering.
6. Ferdig-kriterium: samme rapport, ny seksjon «DEL 2 — ETTER-vinduet», samme tabell-format. Ingen kode, ingen data-skriv.
`COACH_INSTRUCTIONS.md` hevder: «Søvnscore under 78 har i ukessnitt aldri sammenfalt med vellykket kvalitetsøkt.» Testet mot alle skårede kvalitetsøkter med tilgjengelig søvnscore (natten før = `sleep_score` samme dato, tilgjengelig fra 2022-02-01). N = 340 kvalitetsøkter (intervall-typen; langturer har egen skår-skala og er ekskludert). «Vellykket» operasjonalisert som session_score ≥8,0 (Solid-tier+); «dårlig» som <7,0.
| Søvn-bin | n | Snitt-score | Median | %≥7,5 | %≥8,0 | Maks |
|---|---|---|---|---|---|---|
| [0,74) | 30 | **7,05** | 6,85 | 47 % | 37 % | 9,1 |
| [74,78) | 37 | **7,65** | 8,20 | 65 % | 51 % | 9,4 |
| [78,82) | 67 | 7,64 | 7,70 | 60 % | 46 % | 9,4 |
| [82,86) | 79 | 7,55 | 7,90 | 56 % | 49 % | 9,4 |
| [86,90) | 63 | 7,63 | 8,20 | 60 % | 54 % | 9,5 |
| [90,101) | 64 | **8,01** | 8,20 | 75 % | 55 % | 9,6 |
Umiddelbart synlig: bandet [74,78) — akkurat under den påståtte terskelen — har snitt 7,65 og median 8,20, høyere enn [78,86). Terskelen 78 deler ikke populasjonen. Den eneste binen som skiller seg negativt er [0,74).
Ukessnitt (den faktiske påstanden): For hver ISO-uke: snitt-søvn den uka vs beste kvalitet ≥8,0.
| Uke-snitt søvn | n uker | P(minst én kvalitet ≥8) |
|---|---|---|
| <78 | 38 | **0,50** |
| [78,82) | 35 | 0,54 |
| [82,86) | 40 | 0,62 |
| ≥86 | 73 | 0,70 |
19 av 38 uker med snitt-søvn <78 nådde likevel en kvalitet ≥8. Påstanden «aldri» er dermed direkte motbevist. Eksempler: uke 7/2024 (snitt 77,0 → best 9,4), uke 25/2026 (snitt 70,0 → best 9,2 — Seefeld-uka!), uke 52/2024 (snitt 74,5 → best 9,1).
Per-økt-separasjon: Beste enkelt-terskel for å skille score≥8 er 83, ikke 78 — og selv den er en elendig separator (Youden J=0,077, TPR 0,58 / FPR 0,50 — praktisk talt myntkast). Spearman søvn↔score: ρ=0,134 (p=0,013) — svak, men reell monoton sammenheng.
<78 vs ≥78: ikke signifikant (MWU p=0,082 énsidig). <74 vs ≥74: signifikant — snitt 7,05 vs 7,69, diff 0,65 poeng, 95 % bootstrap-CI [0,14–1,17], p=0,006 (10 000 resamples). Den ekte inflekssjonen er 74, ikke 78.
Multippel regresjon på øktene med komplett HRV+TSB (n=322):
```
session_score ~ søvn + HRV + TSB
søvn β = +0,0022 p = 0,825 ← ingen selvstendig effekt
HRV β = +0,0304 p < 0,001 ← den ekte driveren
TSB β = −0,0024 p = 0,602 ← ingen effekt
```
Søvnens tilsynelatende effekt forsvinner helt når HRV kontrolleres. Grunnen: netter med søvn <74 har lav HRV (snitt 55,7) mot 67,5 for ≥74. Søvn og HRV korrelerer r=0,718 (COACH_INSTRUCTIONS' eget tall). Søvnscoren bekrefter det HRV allerede sier — den legger ikke til uavhengig prediksjonskraft. Dette stemmer med COACH-dokumentets egen linje andre steder: «HRV og RHR er primære, søvnscore og stress_avg er bekreftende».
Gate-sammenligning (prediksjon av dårlig økt <7,0; base rate 0,25):
| Gate | Fyrer | P(dårlig \ | fyrer) | Recall |
|---|---|---|---|---|
| søvn<78 (dagens regel) | 60 | 0,33 | 0,25 | |
| søvn<74 | 27 | 0,52 | 0,17 | |
| søvn<75 & HRV<60 (COACH abort) | 24 | 0,50 | 0,15 | |
| **HRV<55 alene** | 42 | **0,52** | **0,27** | |
| søvn<74 ELLER HRV<55 | 54 | 0,50 | 0,33 |
Dagens «<78»-gate fyrer på 60 økter men treffer bare 33 % — knapt over tilfeldig. HRV<55 alene er en bedre og enklere gate. Den kombinerte COACH-regelen «<75 & HRV<60 = abort» er god (50 % presisjon) — men det er HRV-leddet som bærer den.
Fjern setningen: «Søvnscore under 78 har i ukessnitt aldri sammenfalt med vellykket kvalitetsøkt.» (Empirisk feil: 19/38 lav-søvn-uker nådde ≥8; bandet [74,78) scorer høyere enn [78,86).)
Erstatt med (foreslått ordlyd):
> Søvnscore er en bekreftende markør for HRV, ikke en selvstendig kvalitets-prediktor. I data (n=340, 2022–2026) har søvn ingen uavhengig effekt på øktscore når HRV kontrolleres (β≈0, p=0,83); HRV er driveren (r_søvn↔HRV=0,72). Praktisk: én dårlig natt (<78) med god HRV er ikke grunn til å avlyse kvalitet — bandet 74–78 scorer på nivå med normalen. Den reelle inflekssjonen er <74, som i snitt koster ~0,6 tier-poeng (CI 0,14–1,17) — behandle som myk obs, ikke abort. Absolutt abort-kriterium forblir det kombinerte: søvn <75 OG HRV <60, eller HRV <55 alene (begge ~50 % treff på dårlig økt).
Rasjonale: endringen strammer ikke inn og løsner ikke opp beslutningsregelen der den fungerer (den HRV-baserte aborten står). Den fjerner bare en frittstående søvn-terskel som beviselig gir falske alarmer (33 % presisjon) og kunne fått Carl til å avlyse gode økter på en isolert dårlig natt.
`Running_Report_Varmeadaptasjon-Italia_v1.md` — 4a: Italia-vinduet er høyde/reise/alkohol-konfundert; adaptasjonen (RHR −2/HRV +13 vs baseline) vises først sent på lav høyde + 33,5 km@25°C på HR 122 → modest/partiell (B−), ren måling utsettes til T2.5 (19.7), del 2-rammeverk lagt for Opus. 4b: «søvn <78 = aldri vellykket» er FEIL (19/38 lav-uker nådde ≥8; søvn β≈0 når HRV kontrolleres) → forslag: fjern regelen, søvn = bekreftende markør, myk obs ved <74, behold HRV-abort. COACH_INSTRUCTIONS uendret til Carl godkjenner.
Dato: 2026-07-07 · Skrevet av: Claude (Opus 4.8, OPUS-SPOR-A fra TODO) · Grunnlag: `data/processed/activities.json` (2 081 løp etter cross-training-filter, sone-merket I1–I5), `data/processed/races.json` (PB-progresjon), `data/processed/training_blocks.json` (23 låste blokker), EF-motor fra samme easy-korpus som RC6. Ankere: F19 (volum-responder), F17/K3 (peak-CTL disponibel). Alt read-only; kun denne fila er skrevet (parallell-protokoll, SPOR A).
Hva dette er: Måler intensitetsfordelingen — lav (I1+I2) vs terskel (I3) vs høy (I4+I5) — per æra og per blokk, og stiller to spørsmål: (1) er Carl polarisert (Seiler: ~80 % lav, lite terskel, ~15 % høy) eller pyramidal (lav > terskel > høy)? (2) korrelerer miksen med formsprang? Svaret på (1) er entydig; svaret på (2) reframer hva spaken faktisk er.
Metode-noter (les før tallene):
1. Sonebøtter: Lav = I1+I2 (under LT1-området), Mid = I3 (LT1–LT2, terskel), Høy = I4+I5 (over LT2, VO2). Mapper mot Seilers 3-sonemodell (Z1/Z2/Z3). Vektet på løpsminutter (moving_time), med antall som støtte.
2. Viktigste forbehold — økt-primærsone, ikke sekund-for-sekund tid-i-sone. `activities.json` gir én sone per økt (klokkas/pace-klassifisering), ikke en HR-strøm-fordeling. En terskeløkt merket I3 i 70 min inneholder reelt ~20 min I1-oppvarming + I3-arbeidet. Ekte tid-i-sone ville derfor skjøvet Lav% oppover (mot ~85–90 %) og krympet Mid/Høy. Retningen (pyramidal, Mid>Høy) er robust mot dette; de absolutte prosentene overvurderer kvalitetsandelen. En sann polariseringstest krever strøm-parsing (655 `_stream.json`) — utenfor denne økta, foreslått som neste steg.
3. Æra-relative soner (§4.4): pace-grensene drifter mellom æraer; sone-klassifiseringen bruker periodens fysiologi (`zones.json`), så år er sammenlignbare på intensitet, ikke på absolutt pace.
4. Tynt, konfundert n: 6–7 hele år, alt monotont forbedret samtidig (F17/F20 æra-konfund). Korrelasjoner under er retningsgivende, ikke kausale. Konfidensgrad oppgitt per funn.
Andel av løpsminutter. H:M = høy dividert på terskel (<1 = mer terskel enn VO2 = pyramidal).
| År | Lav % | Mid % | Høy % | H:M | Klasse | Økter L/M/H |
|---|---|---|---|---|---|---|
| 2020 | 80,6 | 12,3 | 7,1 | 0,58 | pyramidal | 211/27/16 |
| 2021 | 81,1 | 13,9 | 4,9 | 0,36 | pyramidal | 193/32/13 |
| 2022 | 81,5 | 13,5 | 4,9 | 0,36 | pyramidal | 195/28/11 |
| 2023 | 75,9 | 14,8 | 9,4 | 0,63 | pyramidal | 234/38/26 |
| **2024** | 72,8 | **19,3** | 7,9 | 0,41 | pyramidal | 272/**78**/30 |
| 2025 | 78,3 | 13,4 | 8,3 | 0,62 | pyramidal | 294/52/38 |
| 2026* | 74,7 | 17,9 | 7,4 | 0,41 | pyramidal | 139/32/14 |
*2026 delår. Konklusjon: H:M er <1 hvert år (0,36–0,63) — Carl gjør konsekvent MER terskel enn VO2. Det er definisjonen på pyramidal. Han er ikke polarisert i Seiler-forstand (som krever Høy ≈ Mid eller mer). Dette er den norske dobbel-terskel-modellen, ikke 80/5/15-polarisering.
To ting til fra tabellen: (a) 80/20-splittet lav:hard holder på øktnivå (~73–81 % lav) — det er «hard-delen» som er terskel-tung, ikke fraværet av lav. (b) Høy-enden vokste med æraen: 2020–22 ~5 % → 2023–26 ~8 %. VO2-arbeidet (bane/intervall fra 2023) kom inn samtidig med den beste motor-æraen.
Sone-minutter innenfor hver låste build-blokk (`training_blocks.json`):
| Blk | Mål | Uker | Lav % | Mid % | Høy % | Klasse |
|---|---|---|---|---|---|---|
| 1 | Trondheim M 2021 | 16 | 75,4 | 24,1 | 0,5 | pyramidal |
| 4 | Valencia M 2022 | 11 | 74,8 | 14,0 | 11,1 | pyramidal (nær balansert) |
| 5 | Paris M 2023 | 16 | 78,6 | 21,4 | 0,0 | pyramidal (ren terskel) |
| 6 | New York M 2023 | 16 | 79,6 | 10,3 | 10,2 | pyramidal (nær balansert) |
| 7 | København M 2024 | 16 | 71,8 | 18,2 | 10,0 | pyramidal |
| 8 | Berlin M 2024 | 16 | 77,1 | 16,9 | 6,0 | pyramidal |
| 10 | London M 2025 | 16 | 75,9 | 15,9 | 8,2 | pyramidal |
| 11 | Frankfurt M 2025 | 16 | 82,6 | 14,9 | 2,5 | pyramidal |
| 13 | Amsterdam M 2026 | 16 | 59,2 | 32,3 | 8,5 | pyramidal (foreløpig)† |
†Amsterdam-blokka startet 28.06.2026 — kun 10 økter inn i et 16-ukers bygg. Tidlig-bygg front-laster ofte kvalitet før rolig-volumet rampes; 59/32-miksen er et små-n-tidligbilde, ikke blokkens endelige profil. Overtolk den ikke ennå.
Ingen blokk er polarisert. De nærmeste balanserte (Høy ≈ Mid) er Valencia 2022 og NY 2023 — begge med bevisst VO2-innslag. Ren-terskel-ytterpunktene (Paris 2023, Valencia 2024) hadde ~0 % høy.
Motor = EF (fra RC6). Utfallsdata:
| År | EF | 10k-PB | HM-PB | M-PB | Peak-CTL |
|---|---|---|---|---|---|
| 2020 | 1,303 | 42:07 | 1:36:07 | — | 77 |
| 2022 | 1,329 | 39:48 | 1:29:16 | 3:14:28 | 96 |
| 2023 | 1,376 | 39:26 | 1:27:52 | 3:09:07 | 104 |
| **2024** | 1,435 | 38:38 | — | **2:56:37** | 115 |
| **2025** | 1,472 | **37:23** | 1:24:22 | **2:53:06** | 106 |
| 2026 | 1,479 | — | 1:21:18 | — | 95 |
Korrelasjoner (år-nivå, n=6–7, retningsgivende):
Tolkningen som betyr noe: Det er absolutt kvalitets-/høyintensitets-volum som sporer motoren, ikke polariseringsgraden. H:M-ratioen — selve «hvor polarisert er du»-tallet — korrelerer ikke med form (r=0,16). Men mengden høyintensitet gjør det (ΔEF vs Høy% r=0,69). Reframe: spørsmålet er ikke «bli mer polarisert», det er «gjør nok kvalitet på en stabil rolig base». Det matcher F19 (volum-responder) og K3 (peak-CTL disponibel): spaken er kvalitet på en plattform, og plattformen er de rolige ~78 %.
Gjennombruddet 2024 illustrerer: det var et terskel-spike-år (Mid 19,3 %, 78 I3-økter — dobbel-terskel-æraen), ikke et polariserings-skifte. 2025 bygde videre med høy rolig-andel + stigende VO2 (Høy 8,3 %). De to beste motor-årene var terskel-pyramide + et VO2-dryss på toppen.
P1 — Carl er pyramidal, ikke polarisert. Entydig, hvert år og hver blokk. Konfidens: A (for retningen; B for de eksakte %-ene pga. økt-primærsone-metoden). H:M <1 uten unntak. Den polariserte 80/5/15-oppskriften beskriver ham ikke — han ligger ~78/14/8. Enhver coaching-input som forutsetter «polarisert» er feil anker.
P2 — 80/20 lav:hard holder på øktnivå; det er hard-miksen som er pyramidal. Konfidens: A. ~75–80 % av minuttene er lav (og ekte tid-i-sone ville gjort den enda høyere, metode-note 2). Debatten er ikke om basen er stor nok — den er det — men om kvalitets-delen skal vris fra terskel mot VO2. Data sier nei (P3).
P3 — Formsprang spores av absolutt høyintensitets-volum, ikke av polariseringsratio. Konfidens: C (n=6, æra-konfundert). ΔEF vs Høy% r=0,69; H:M vs EF r=0,16. Ikke jag ratioen som KPI — den betyr ingenting for formen din. Jag absolutt kvalitets-km på en bevart rolig base.
P4 — VO2-enden vokste da motoren tok av. Konfidens: C. Høy% 2020–22 ~5 % → 2023–26 ~8 %, sammenfallende med bane/intervall-innføringen og de største motor-årene. Et moderat VO2-dryss (I4/I5 ~8 %) på toppen av terskel-pyramiden er mønsteret i dine beste æraer — behold litt VO2 selv i maratonbygg.
P5 — Amsterdam-blokka trender mest terskel-tung noensinne (foreløpig). Konfidens: C. 32 % Mid på 10 økter er et tidlig-bygg-bilde, men verdt å overvåke: ikke la I3-volumet presse den rolige basen under ~75 % av minuttene (F19: aldri intensitet på bekostning av rolig-volum).
1. Slutt å spørre «burde jeg være mer polarisert». Du er pyramidal, og det virker (10k 42:07→37:23, maraton 3:14→2:53 på samme grunnform). Data sier: gjør nok kvalitet på en stabil rolig base — ikke flytt kvalitet fra terskel til VO2 for polariseringens skyld.
2. Vern de rolige ~78 % (F19). Økt-primærsone-metoden undervurderer allerede hvor rolig du er; ekte tid-i-sone er høyere. Ikke la Amsterdam-terskelblokka erodere den under ~75 % av minuttene.
3. Behold VO2-drysset. Motor-sprangene fulgte absolutt høyintensitets-volum; ~8 % I4/I5 på toppen av pyramiden er signaturen på 2024–25. Legg et lite VO2-innslag inn selv i maratonbygg — ikke bare terskel.
4. Ikke bruk polariseringsratioen som KPI. Den sporer ikke formen din (r=0,16). Spor absolutt kvalitets-km og rolig-% i stedet — det er de to tallene som betyr noe.
5. Vil du ha en ekte polariseringstest, trengs tid-i-sone fra strøm. Bygg en sone-tid-serie (fra `_stream.json`) inn i hubben — samme anbefaling som RC6s motor-trend-graf. Da blir både polarisering og reversibilitet synlig i sanntid, og de eksakte %-ene i §1 kan erstattes med HR-oppløste tall.
Bygger på F19/F17. Alle sone-, EF- og PB-tall er regnet fra `activities.json`, `races.json` og `training_blocks.json` i denne økta — ingen er antatt. Der metoden overvurderer kvalitetsandelen (økt-primærsone) eller n er tynt, er det merket med konfidens B/C.
Dato: 2026-07-03 · Skrevet av: Claude (Fable) · Grunnlag: alle 34 løp, 13 treningsblokker, quality.json (609 økter), wellness, illness, biometrics, LOO-resultater i `race_predict_model.json`
Alt under er testet med samme leave-one-race-out-metodikk som modellen selv bruker (`race_predict.loo_validate`), på dagens datasett. Ingen filer i pipelinen er endret — dette er analyse + forslag.
Dagens modell reproduserer til MAE 1,97 % (alle snapshots) / 1,80 % (T-14). To validerte endringer tar den til 1,59 % / 1,27 % — målt på samme løpssett (27 A-løp):
| Variant | MAE alle | T-14 | 10k T-14 | HM T-14 | M T-14 |
|---|---|---|---|---|---|
| Dagens modell | 1,78 % | 1,59 % | 2,02 % | 1,27 % | 1,38 % |
| + post-maraton-vindu | 1,69 % | 1,44 % | 1,66 % | 1,30 % | 1,38 % |
| + B-løp ut av kalibrering | **1,59 %** | **1,27 %** | **1,39 %** | 1,30 % | **1,12 %** |
Dokumentets påstand om at «grensen er data, ikke modell» var nesten riktig — men to systematiske feilkilder lå igjen i dataene, ikke i featurene.
Alle korte løp 15–45 dager etter et maraton underpresterer mot modellen. Mønsteret er komplett og entydig i historikken:
| Dato | Løp | Dager etter M | Feil vs modell |
|---|---|---|---|
| 2022-05-21 | Nidaros 10k (13 d etter Barcelona) | 13 | ±0,0 % |
| 2024-05-25 | Nidaros 10k (etter København) | 20 | −2,6 % |
| 2025-05-24 | Nidaros 10k (etter London) | 27 | **−7,7 %** |
| 2023-05-09 | Tordenskiold 10k (etter Paris) | 37 | −3,5 % |
| 2025-06-07 | Sommernattsløpet (etter London) | 41 | −1,4 % |
| 2023-06-03 | Nidaros 10k (etter Paris) | 62 | +1,8 % |
Fra 49+ dager er effekten borte. Fysiologisk velkjent (restitusjonsgjeld etter maraton), og featuren er kjent på forhånd — begge datoer ligger i kalenderen. Implementert som dummy (5k/10k, 15–45 d etter M) gir den β = +0,041 → +4,2 % pace-straff i vinduet, og 10k-presisjonen bedres 2,02 → 1,66 % uten å røre HM/M. Samme klasse funn som terskeldosen: ferskhet, ikke fitness.
Planleggingsregel av samme funn: ikke legg A-innsats på 10k i uke 2–6 etter maraton. 13 dager gikk bra (fortsatt taper-frisk); 3–6 uker er dødsonen.
De to største positive residualene er ikke-maksimale løp som i dag former fitten: «Halvmaraton med TOSK» 2022 (+4,5 %) og solo-10k mai 2020 (+4,8 %, tempomål sub-45). `EXCLUDE_FIT` har allerede prinsippet (Familiehalv, skogsmaraton) — det er bare ikke ført konsekvent. Å ta disse to ut av kalibreringen (de kan fortsatt predikeres) gir resten av forbedringen i tabellen over, inkludert M 1,38 → 1,12 %.
Forslag: et `effort`-felt i `race_overrides.json` (A = maksimal / B = tempo/sosial), så `EXCLUDE_FIT` bygges fra data i stedet for hardkodede datoer. Du bekrefter klassifiseringen én gang — jeg har bare funnet to kandidater, men du kjenner løpene.
De globale split-normal-faktorene (0,65/1,15) treffer ikke per kategori. Empirisk dekning av «95 %»-intervallet (LOO T≤28): 10k 85 %, HM 83 %, M 100 %. Skjevheten går til og med motsatt vei for HM (oppsiden er tyngst) enn for 10k (nedsiden). Empiriske 90 %-kvantiler per kategori, anbefalt variant:
| Kat | n | 90 %-intervall (feil i %) |
|---|---|---|
| 10k | 33 | −5,6 … +3,3 |
| HM | 24 | −3,6 … +3,6 |
| M | 30 | −2,4 … +1,4 |
Forslag: erstatt de faste faktorene med empiriske kvantiler per kategori (split-konform prediksjon). Ingen nye parametre å fitte, alltid kalibrert per definisjon, og P(mål) leses av samme fordeling. Merk hva M-raden faktisk sier: når formen og blokka er på plass, leverer du maraton innenfor −2,4/+1,4 % — nedsiderisikoen i maraton er nesten utelukkende hendelser (varme, sykdom), ikke formusikkerhet.
`temp_c` er temperatur ved starttidspunkt. Et maraton varer 3 timer. London 2025: 12,6° lagret — 15,6° snitt underveis, 18,1° på det verste (time-arkivet bekrefter). Derfor er heat-koeffisienten i praksis null (β = +0,005 på skalert ledd ≈ 0,04 %/°C), og modellen er blind for varme — den eneste faktoren som historisk har kostet deg 11 % (London, +18,3 % fade i 2. halvdel, HR-kollaps −11 %).
Forslag i to trinn: (1) backfill race-vær som tidsvektet snitt over løpsvinduet på by-koordinater (Open-Meteo archive, samme klient som pipelinen alt bruker — ~30 kall, én gang), (2) re-fit; hvis n fortsatt er for tynt til å lære varme fra data (sannsynlig — du har klokt unngått varmeløp), legg inn litteratur-prior i stedet for fitting: ~0,2–0,3 %/°C over ~13° effektiv for M, avtagende for kortere løp. Da blir Amsterdam-prognosen ærlig også i et 18°-scenario, og prediksjon.html kan vise «ved 11° / ved 16° / ved 20°».
I samme LOO-harnisk, dokumentert i §6-ånden til PREDICTION_MODEL.md: høyde per løp (Strava-elevasjon for støyende, ankeret absorberer løypeprofil; 1,97→1,99 %), recency-vekting av løp i fit (verre ved alle halveringstider 365–1095 d), HRV-CV som regresjonsfeature (T-14 verre, 1,59→1,69), dag-før-HRV som punktjustering av prediksjonen (LOO 1,53→1,70 — bekrefter readiness-funnet deres). Vekt/søvn/RHR var alt forkastet og ingenting i denne analysen utfordrer det.
Men dag-før-HRV er ikke verdiløs — den er et risiko-signal, ikke et nivå-signal:
| Dag-før-HRV vs 4-ukers baseline | Snittfeil vs modell |
|---|---|
| Laveste tertil (Δ −22 %) | −0,97 % |
| Midt | −0,43 % |
| Høyeste tertil (Δ +10 %) | +0,18 % |
Alle tre løpene med Δ ≤ −10 % (Paris −25,6 %, Sommernattsløpet, Nidaros-25) endte under prediksjon. Forslag: race-eve-flagg på prediksjon.html — HRV ≥10 % under baseline, sykdomsdager siste 14 d, eller postM-vindu → «forhøyet nedsiderisiko, sikt mot nedre CI» — uten å flytte punktprediksjonen.
Alle 10 maratonblokker med utfall, sortert etter «slo modellen» (err T-14):
| Blokk | Tid | vs modell | km/u | kval-km/u | 30k+ | MP-km | øktscore | langtur-score | dcp | sykedager |
|---|---|---|---|---|---|---|---|---|---|---|
| Oslo 2022 | 3:19:48 | +1,2 % | 64 | 8 | 2 | 106 | 5,97 | 7,56 | 2,1 | 3 |
| Valencia 2024 | 2:56:37 | +0,8 % | 86 | 23 | 5 | 80 | 7,89 | 8,16 | 0,7 | 2 |
| København 2024 | 2:59:20 | +0,2 % | 92 | 24 | 10 | 125 | 8,14 | 8,43 | 1,4 | 1 |
| Berlin 2024 | 2:59:41 | +0,1 % | 87 | 25 | 8 | 159 | 8,12 | 8,19 | 1,9 | 0 |
| Barcelona 2022 | 3:25:19 | −0,7 % | 47 | 5 | 2 | 0 | 5,42 | 7,66 | −0,5 | 2 |
| Valencia 2022 | 3:14:28 | −1,6 % | 62 | 13 | 4 | 72 | 6,32 | 7,55 | 3,5 | 0 |
| Trondheim 2021 | 3:30:07 | −1,7 % | 61 | 5 | 6 | 6 | 5,66 | 7,96 | 1,2 | 0 |
| Paris 2023 | 3:21:03 | −2,2 % | 38 | 6 | 3 | 25 | 6,15 | 7,12 | −0,3 | **11** |
| Frankfurt 2025 | 2:53:06 | −2,4 % | 98 | 21 | 13 | 178 | 7,57 | 8,62 | 2,1 | **7** |
| New York 2023 | 3:09:07 | −3,0 % | 71 | 17 | 6 | 171 | 7,47 | **7,01** | **3,1** | 0 |
To utfallsmål, to historier:
Total formgevinst gjennom blokka (10k-ekv ved race vs anker ved T-84) følger dose nesten monotont: km/u r=+0,92, peak CTL +0,84, kvalitets-km/u +0,82, snitt øktscore +0,79, antall økter ≥8 +0,75, MP-km på langtur +0,70, antall 30k+ +0,67. Delvis era-konfundert (2024–25-blokkene er bedre på alt samtidig), men retningen er utvetydig: volum + kvalitetsdose bygger formen; det finnes ingen snarvei i dine data.
Å slå modellen på dagen (err T-14, der inngangsform alt er kontrollert for) handler derimot ikke om dose — det handler om fravær av forstyrrelse og kvalitet på det spesifikke:
Nå (før Amsterdam-blokka spikres):
1. postM-vindu-featuren inn i `race_predict.py` (~10 linjer, `_dsm` fra races.json). Validert: 10k T-14 2,02→1,66 %.
2. `effort`-tag i `race_overrides.json` + EXCLUDE_FIT fra data. Validert: samlet 1,69→1,59 %. Krever bare din bekreftelse på A/B per løp.
3. Empiriske CI-kvantiler per kategori i `race_outlook.py` (erstatt 0,65/1,15). Gir ærlig P(mål) — dagens 10k/HM-intervaller er for smale.
4. Race-vær-backfill + heat-prior (`backfill_race_weather.py`, én gang + re-fit). Gjør varme-scenarier for Amsterdam/Energimila reelle.
5. Race-eve-flagg på prediksjon.html: HRV-delta ≤ −10 %, sykdom siste 14 d, postM-vindu → «sikt mot nedre CI». Ingen endring i punktprediksjon.
Amsterdam-blokka (styring, ikke modell):
6. Blokk-monitor på hub-en: live måling av inneværende blokk mot sub-3-oppskriften i §7 (km/u, kval-km/u, 30k+-tellere, MP-km, øktscore-snitt, sykedager, HRV-CV-trend). Dagens status: km 4u = 366 (≈91/u) og CTL 89,7 — du ligger alt på oppskriftens bane; peak-CTL-målet (106–115) og 13×30k+ à la Frankfurt er det som gjenstår utover høsten. Merk Frankfurt-lærdommen: oppskriften tåler ikke sykdom — helle mot 2024-dosen (87–92 km/u) med bedre søvn/restitusjonsdisiplin er trolig raskere enn Frankfurt-dosen med 7 sykedager.
7. Langtur-kvalitet som eksplisitt mål: NY-caset viser at 30k+-antall ikke er nok — hold langtur-score ≥8 og decoupling <2 % som blokk-krav, ikke bare volum.
8. Tune-up-plassering: København HM (T-28 for Amsterdam) fungerer som anker-løp for modellen — perfekt plassert. Ingen 10k-A-innsats mellom Amsterdam og ev. senmaraton våren 2027 i uke 2–6.
Senere (2027+, når n vokser):
9. Banister-simulering av planlagt blokk: projeksjonen bruker i dag flat gjenvinning + 0,5 %. Med `training_plan_daily.json` som input kan framskrivingen kjøre impuls-respons på planlagt last → «hva gjør ±10 km/u med Amsterdam-prognosen». Størst verdi av alt på coaching-siden, middels jobb.
10. Per-distanse koeffisienter + laktat-Kalman-kilde — som alt planlagt i PREDICTION_MODEL §9; postM-featuren gjør per-distanse-splitten mindre presserende.
11. Kuratert løypeprofil-tabell (offisiell høydemeter per løp) hvis dere vil re-teste høyde — Strava-elevasjon er ubrukelig som feature (Frankfurt «551 m»).
Datahygiene (småplukk): 4 løp mangler `_data.json`/starttid (RACE-1 i TODO — trengs også for vær-backfill), og ~50 `quality.json.bak_progdetect_*` (~280 MB) kan arkiveres.
n = 29 kalibrerbare løp. postM-vinduet hviler på 5–6 observasjoner med komplett mønster og klar fysiologi — validert i LOO, men følg med de neste 2–3 post-M-løpene. Blokk-korrelasjonene (n = 10) er rangeringer, ikke bevis; era-konfundering er reell for dose-funnene, mindre for sykdoms-/kvalitetsfunnene som virker innen era. Wellness-nivåer, vekt, styrkevolum og alkohol viste ingen sammenheng med utfall i noen av analysene — konsistent med det dere alt har forkastet.
FABLE-18 · skrevet 2026-07-07 · Kilder: `races.json` (34 race-entries, PB-baner 2019→2026) · `zones.json` (physiology_by_period + lab-anker Granåsen 24.02.2026) · `oxygen_capacity.json` (career_projection v2) · `lactate_log.json` · ankere: F17 Syvårs-syntesen v2 (§1 nivåbanen, §3 mekanisme-rangering, §5 Riegel+alderslinje, §6 formene A/B/C). Age-grading beregnet fra WMA 2020 male road-tabeller (Alan Jones / USATF-MLDR, godkjent 2020-05-20 — se §1). Alt read-only; kun denne fila er skrevet (parallellprotokoll).
Ramme: dette er en ekstrapolering forbi materialet. Ingen maraton er løpt på under 2:53, ingen HM under 1:21; aldersbrems er antatt-kommende, ikke observert. Alderskurvene hviler på litteratur (WMA-tabeller, VO2-aldring 0,7 %/år), ikke på Carls egne data — han har ennå ikke løpt lenge nok som masters til å ha en egen aldringskurve. Alt operativt for høsten bor i Blokkplan v3 og røres ikke her; dette er horisont-arbeid til 2027-valget etter Amsterdam.
Carl er fortsatt på vei OPP i age-graded prosent på alle tre distanser — uten synlig avmatning. Hver distanses ferskeste PB er også dens høyeste AG% noensinne, og stegene er fremdeles +2 til +3,7 poeng. Nåværende nivå: 10k 75,1 % · HM 75,9 % · maraton 74,7 % (WMA 2020). Det plasserer ham i øvre sjikt av «sterk regional/klubb» og på vei mot 80 %-terskelen som konvensjonelt kalles nasjonal masters-klasse. Aldersgraderingen ser altså ingen topp ennå — banen peker oppover inn i aldersvinduet, ikke ut av det.
Den viktigste enkeltavlesningen: motoren ligger foran maratonen. Berlin-HM 1:21:19 projiserer via Riegel til en 2:49:32-maraton; 10k-en (37:23) til 2:51:58. Han har allerede løpt 2:53:06. Med andre ord: kortdistanse-nivået sier at en sub-2:50-maraton allerede ligger i beina — det som mangler er ikke tak (VO2/terskel), men maraton-realisering (durability × utførelse). Dette er nøyaktig F17 §3s M4-tese, nå kvantifisert fra PB-siden.
2:45-banen: 2:45:00 krever AG ≈ 79,4 % ved 43 / 80,0 % ved 44. Carl er på 74,7 % og legger på ~2 poeng/år. To til to-og-et-halvt år av dagens AG-stigning lander på 79–80 % — dvs. 2028–2029, alder 44–45, akkurat i enden av peak-vinduet (VO2-modellen setter peak-window-slutt til 46). 2:45 er ikke neste steg; det er steget etter sub-2:50, og det er innen rekkevidde hvis motoren holder og maraton-realiseringen tetter gapet til motoren.
PB-vinduene lukker seg i rekkefølge kort→lang, men maratonen topper SIST. 10k/HM er VO2-drevne og topper først (nå→~44); maratonen er durability-drevet, og durability bygges fortsatt — så maraton-PB-vinduet åpner senere og varer lengst, sannsynlig topp 2028–2029. Sub-2:50 er holdbart til ~46–47 hvis kontinuiteten (F17s friske uker + F15s immunvern) holder — men det er den delen av svaret som ekstrapolerer lengst.
Age-grading oversetter en tid til «hvor nær verdens-standarden for kjønn+alder» den er, slik at prestasjoner på tvers av alder og distanse blir sammenlignbare. Konvensjon: `AG% = alders-standard(alder, distanse) / faktisk tid`, ekvivalent med `verdens-standard(open) / (faktisk tid × aldersfaktor)`. Aldersfaktoren multipliseres med tiden for å gi en «open-ekvivalent» (hva tiden tilsvarer i 20–30-årsalder).
Kilde og utgave: WMA 2020 Long Distance Running-tabeller, utviklet av Alan Jones og Tom Bernhard, godkjent av USA Track & Field Masters Long Distance Running Council 20.05.2020 (repo: `github.com/AlanLyttonJones/Age-Grade-Tables`, `2020 Files/MaleRoadStd2020`). Dette er den samme utgaven Howard Grubbs offisielle MLDR-kalkulator bruker. En 2025-utgave finnes nå (godkjent 2025-01-10) og gir marginalt andre absoluttverdier; jeg bruker 2020 for stabilitet gjennom hele karrieren.
Verdiene jeg regner med (eksplisitt, så de kan verifiseres):
| Størrelse | Verdi | Merknad |
|---|---|---|
| Open-standard 10k | 26:24 | Herrer, 2020-utgaven (Kipruto-æra) |
| Open-standard HM | 58:01 | Herrer, pre-mai-2020 WR (Kamworor 2019) |
| Open-standard maraton | 2:01:39 | Herrer, Kipchoge Berlin 2018 |
| Aldersfaktor (unifisert utholdenhets-road-kurve) | 35: 0,975 · 38: 0,958 · 40: 0,947 · 41: 0,941 · 42: 0,934 · 43: 0,928 · 45: 0,915 | Enkelt-alder, herrer |
Presisjonsforbehold (les dette før du bruker tallene): (1) Jeg bruker én unifisert herre-utholdenhetskurve; de ekte tabellene skiller 10k/HM/maraton med <0,004 i faktor i dette aldersspennet, så event-forskjellen flytter AG% <0,4 poeng. (2) Absoluttnivået på AG% bærer ~±1 poeng fra utgave- og interpolasjonsvalg. (3) Trenden er robust for alt dette — Carls forbedringer er 11–22 % per distanse, mens aldersstraffen er ~0,5–0,6 %/år, så «fortsatt på vei opp» endres ikke av faktor-slingring på andre desimal. Bruk AG%-nivåene som omtrentlige (±1 pkt) og AG%-banen som sikker.
Alder regnes som fylte år på løpsdagen (født 17.07.1984). Offisielle brikketider brukt der beskrivelsen oppgir dem (f.eks. HM 1:35:36, maraton 2:53:06). Fysiologi-ankeret er lab Granåsen 24.02.2026: VO2maks 61,7 · LT2 3:49@169 (3,3 mmol) · LT1 4:12@159 · HRmax 186.
Ja, entydig. Under er age-graded prosent for hver PB-settende prestasjon per distanse. Legg merke til at hver distanses siste rad er dens høyeste AG% — det finnes ingen intern topp ennå, og differansene (siste kolonne) viser ingen systematisk avtagning.
10k (open-std 26:24):
| Dato | Alder | Tid | AG% | Δ |
|---|---|---|---|---|
| 2020-10-16 | 36 | 42:07 | 64,7 % | — |
| 2023-06-03 | 38 | 39:52 | 69,1 % | +4,4 |
| 2023-09-16 | 39 | 39:26 | 70,3 % | +1,2 |
| 2024-03-22 | 39 | 38:38 | 71,7 % | +1,5 |
| 2025-06-07 | 40 | 38:25 | 72,6 % | +0,9 |
| **2025-08-13** | **41** | **37:23** | **75,1 %** | **+2,5** |
Halvmaraton (open-std 58:01):
| Dato | Alder | Tid | AG% | Δ |
|---|---|---|---|---|
| 2019-09-07 | 35 | 1:44:42 | 56,8 % | — |
| 2020-10-30 | 36 | 1:35:36 | 62,6 % | +5,8 |
| 2021-08-08 | 37 | 1:33:45 | 64,2 % | +1,6 |
| 2022-11-05 | 38 | 1:29:16 | 67,8 % | +3,6 |
| 2023-09-02 | 39 | 1:27:49 | 69,4 % | +1,5 |
| 2025-09-06 | 41 | 1:24:24 | 73,1 % | +3,7 |
| **2026-03-29** | **41** | **1:21:19** | **75,9 %** | **+2,8** |
Maraton (open-std 2:01:39):
| Dato | Alder | Tid | AG% | Δ |
|---|---|---|---|---|
| 2021-09-04 | 37 | 3:30:07 | 60,1 % | — |
| 2022-05-08 | 37 | 3:25:19 | 61,5 % | +1,4 |
| 2022-09-17 | 38 | 3:19:48 | 63,5 % | +2,1 |
| 2022-12-04 | 38 | 3:14:23 | 65,3 % | +1,8 |
| 2023-11-05 | 39 | 3:09:02 | 67,6 % | +2,3 |
| 2024-05-05 | 39 | 2:59:11 | 71,3 % | +3,7 |
| 2024-12-01 | 40 | 2:56:37 | 72,8 % | +1,5 |
| **2025-10-26** | **41** | **2:53:06** | **74,7 %** | **+2,0** |
Tre avlesninger:
(a) Banen er monoton og fortsatt bratt. Over seks–sju år stiger AG% ~2–3 poeng i året på hver distanse, og det ferskeste steget er ikke mindre enn snittet (maraton +2,0, HM +2,8, 10k +2,5). En atlet som nærmer seg sitt tak, får krympende AG-steg først — det ser vi ikke. Aldersgraderingen sier at Carl fortsatt er i en oppbyggingsfase, ikke en platåfase, selv ved 42.
(b) Nivået nå ≈ 75 %, terskelen han nærmer seg er 80 %. WMA-konvensjonen: 60 % lokal, 70 % regional, 80 % nasjonal klasse, 90 %+ internasjonal/verdensklasse. Carl på 74,7–75,9 % er solid regional/sterk klubb, ~4–5 poeng under nasjonal masters-klasse. Det er ikke langt — på dagens stigningstakt er 80 % ~2 år unna, og 80 % AG er nettopp det 2:45/1:19/35:5x-nivået krever (§4).
(c) HM leder AG-tabellen, maraton ligger bakerst — og det er diagnostisk. At HM (75,9) ligger foran maraton (74,7) på AG% er ikke tilfeldig støy; det er det samme signalet som Riegel gir i §3: motoren er lenger fremme enn maraton-realiseringen. Distansen med mest hodrom er den som skal bygges — men den bygges via de andre to.
F17 §5 slår fast at Carl passerte Riegel-modenhet mellom NY-23 og Kbh-24: maratontiden er siden ≈ 10k-Riegel-1,06, betinget på langtur-plattformen. Vi kan bruke det motsatt vei — projisere dagens kortdistanse-PB-er til maraton og se hvor maratonen burde ligge:
| Utgangspunkt (PB) | Riegel k=1,06 → maraton |
|---|---|
| Berlin HM 1:21:19 | **2:49:32** |
| EnergiMila 10k 37:23 | 2:51:58 |
| Faktisk maraton-PB | 2:53:06 |
Maratonen ligger 1,5–3,5 minutter bak det motoren tilsier. To lesninger, begge peker samme vei:
Konsekvens for PB-vinduene: maratonen har mest urealisert potensial akkurat nå, men henter det ikke inn ved mer maraton-volum — den henter det ved (i) å skjerpe motoren enda et hakk (3:45-terskel, jf. F9) så Riegel-utgangspunktet blir raskere, og (ii) å realisere det motoren allerede gir. Amsterdam er den første testen på om gapet lukkes.
Prinsippet som strukturerer vinduene: kortere distanser er mer VO2-drevne og topper først; maratonen er mer durability-drevet og topper sist. VO2maks aldres (~0,7 %/år, litteratur), men durability og løpsøkonomi kan fortsatt forbedres i 40-åra — derfor forskyves maraton-toppen bakover relativt til 10k. Carls VO2 61,7 @ 41,6 (målt under forkjølelse; lab-notatet anslår reelt hvilt nivå 63–65) gir en reserve maraton-nivået ikke bruker opp — gapet er durability/effektivitet, ikke tak (F17 §5).
| Distanse | AG% nå | Vindu åpent | Sannsynlig topp | Livstids-estimat (konfidens) | Hva den er begrenset av |
|---|---|---|---|---|---|
| **10k** | 75,1 % | nå | 2026–2028 (42–44) | **35:30–36:00** (M) | VO2 — topper først, mest aldersfølsom |
| **HM** | 75,9 % | nå | 2027–2028 (43–44) | **1:18–1:19** (M) | VO2 × terskel-durability |
| **Maraton** | 74,7 % | nå (åpner bredest) | 2028–2029 (44–45) | **2:45–2:47** (M/M-) | Durability × realisering — topper sist, lengst runway |
Konfidens-koding: M = middels (ekstrapolering på 1–2 år langs en etablert bane) · M- = middels-lav (3+ år ut, forutsetter at durability-spaken leverer og helsa holder).
Livstids-topp, samlet dom: På fortsatt-progresjon-scenariet (§5) ligger Carls livstids-topper rundt 10k 35:4x · HM 1:18–1:19 · maraton 2:45–2:47, alle i vinduet 2027–2029 (alder 43–45), alle krevende AG ~79–80 % (nasjonal masters-klasse). Dette er ikke en spådom om at han når dem — det er hva dagens bane peker mot hvis den fortsetter uendret, noe ingen bane gjør i det uendelige.
Kryssvalidering mot systemets egen modell: `oxygen_capacity.json` (career_projection v2, uavhengig av min age-grading) setter status-quo-maraton til 2:49:42 (2027) → ~2:51 (2028–30), og «optimalisert jern+D-vitamin»-scenariet til 2:46 holdt 2027–2030, med peak-window-slutt alder 46. Min Riegel-baserte 2:49-latent-nå og 2:45-mot-2028-29 ligger inne i dette spennet — to uavhengige metoder brakketterer altså 2:45–2:50 for de neste fire årene. Det styrker dommen. (D-vitamin/ferritin som løftespak hører til F23 og forfølges ikke her, men modellen antyder at det er verdt ~3 min på maraton — et reelt, ikke-treningsmessig håndtak.)
Sub-2:50-nivåets varighet. To regnestykker rammer det inn:
Kombinert: sub-2:50 krever ~76,6 % AG ved 42, stigende til ~78 % ved 45. Carl er 74,7 % og stiger ~2/år. Sub-2:50 er derfor «neste steg» (2026–2027), og deretter holdbart gjennom minst midten av 40-åra — så lenge AG% bare holder stand mot aldringen, hvilket krever at durability/realisering fortsetter å hente inn det VO2-aldringen taper. Konkret: sub-2:50 bør vare fra første innfrielse til ~46–47 (2031–2032), altså ~5 år, forutsatt kontinuitet. Dette er svaret som ekstrapolerer lengst og skal leses med det forbeholdet (§7).
Framskrivingene under bruker VO2-aldring 0,7 %/år (litteratur, `oxygen_capacity.json` konstant) som ryggrad, med durability-banen som det som skiller scenariene. Alle er betinget på F17s ikke-forhandlbare: vinter-motor-blokka og immun-vernet (F15) i race-ukene.
Scenario A — Fortsatt progresjon (konfidens: middels). AG% fortsetter ~+1,5–2/år i 1–2 år til, så flater det mot 79–80 %. Motoren skjerpes til 3:45-terskel (F9 sein-blokk-dose), Riegel-utgangspunktet blir 1:19/35:5x, maraton-realiseringen lukker gapet. Bane: sub-2:50 høsten 2026/våren 2027 → 2:47–2:48 sent 2027 → 2:45-forsøk 2028–2029 (44–45). HM 1:18–1:19, 10k 35:4x i samme vindu. Dette er scenariet dagens data faktisk peker mot — men det forutsetter at ingen av de tre siste PB-stegene var toppen, og de kan ikke vite det ennå.
Scenario B — Platå (konfidens: middels). AG% topper ~76–77 % i 2026–2027 og holder der. Motoren har levert det den skal; maraton-realiseringen tetter gapet til motoren, men motoren flytter seg ikke mer. Bane: sub-2:50 nås (~2:48–2:50) og blir livstids-maratonen, HM stabiliserer ~1:20, 10k ~36:3x. 2:45 nås ikke — kravet (79–80 % AG) ligger over platået. Dette er det «nøkterne» utfallet: han realiserer motoren han har, men får ikke en ny motor-generasjon. Fullt respektabelt — 2:48–2:50 ved 42–44 er sterke masters-tider.
Scenario C — Aldersnorm slår inn (konfidens: lav-middels). VO2-aldringen begynner å bite før durability rekker å kompensere; AG% flater nå og begynner svakt fallende ~2028+. Bane: 2:53 (Frankfurt) står som livstids-maraton, sub-2:50 nås knapt eller glipper, og fokus skifter til å forsvare nivået (holde AG% mot aldringen). Utløsere som ville peke hit: en ny infeksjonstung sesong (F15), tap av kontinuitet (F17s friske uker), eller at 41-årsstegene faktisk var toppen. Ingenting i materialet varsler dette ennå — men fraværet av en observert aldersbrems betyr bare at den er uobservert, ikke at den ikke kommer.
Vekting: Data i dag favoriserer A/B over C — AG-banen er fortsatt oppadgående uten avmatning, og motoren ligger foran maratonen (urealisert potensial finnes). Men A vs B avgjøres av noe vi ikke har sett ennå: om Carl har ett motor-løft til i seg (3:55→3:45-terskel som holder), eller om Berlin-HM-nivået var motorens tak. Amsterdam + lab-retest aug/sep 2026 er de neste to datapunktene som skiller A fra B.
F18-analysen gir én tydelig styringsinput til de tre kandidat-formene i F17 §6: motoren (10k/HM) ligger foran maratonen, så beskrankningen mot 2:45 er maraton-realisering, ikke motor-bygging. Det vrir prioriteringen:
Samlet F18-anbefaling til 2027-valget (avgjøres endelig av Amsterdam-fasiten): default mot Form A — den matcher der beskrankningen faktisk ligger. Hold Form C som fallback hvis Amsterdam eller aug/sep-labben viser at motoren er taket. Reserver Form B for scenariet der utførelses-varians, ikke kapasitet, er det som skiller Carl fra en 2:49 — da kjøper flere forsøk ned variansen. Alle tre forutsetter vinter-basen 2026/27 og immun-vernet i race-ukene; de er de best dokumenterte investeringene i materialet (F17 §6).
Dette er den mest ekstrapolerende rapporten i serien, og det skal sies rett ut. Kildene (races/zones/lab) er solide og målte; framskrivingene er det ikke. Konkret:
Ingen `illness_classification.json`, `races.json` eller andre datafiler er endret; ingen bygg/git kjørt. Konsolidering (hub-kort, CHANGELOG, TODO-kryss) gjøres i egen økt per parallellprotokollen — ikke her.
Dato: 2026-07-05 (Fable økt 3) · Verktøy: `scripts/backtest_illness_model.py --fasit {all|infection|stress|autonom}` · Data: `illness_backtest*.json`
Erstatter tolkningen i `Sykdomsgate_backtest_2026-07-04.md` (tallene der står — det er merkelappen som var feil).
Typingen i `illness_classification.json` (Carl, 2026-07-05) gjorde det mulig å spørre: hva er det gaten faktisk predikerer? Fasit-splittet backtest (2025-01-01 → 2026-07-05, alarm = ≥2 indikatorer):
| Fasit | Ferske onsets | Recall | Lead (median) | FP-episoder/18 mnd |
|---|---|---|---|---|
| **all** (v1-tallet) | 11 | 3/11 (27 %) | 6 d | 4 |
| **autonom** (stress + uavklart) | 10 | **3/10 (30 %)** | 6 d (3–6) | 4 |
| **infection** (kun bekreftede) | 2 | **0/2 (0 %)** | — | (samme gate) |
| **stress** (kun typede, alle 2026) | 1 | 0/1 | — | for tynt (n=1) |
1. Gaten er en autonom-forstyrrelse-detektor, ikke en sykdomsprediktor. Recall-tallet (27–30 %) beskriver ferske dysregulerings-onsets (stress + uavklart). Begge de bekreftede infeksjonene (post-Berlin mars/april-26) kom uten wellness-prodrom — 0/2.
2. Ren stress-fasit kan ikke kalibreres ennå — bare 2026-perioder er typet stress (4, hvorav 3 residiv). Re-kjør `--fasit stress` når typingen vokser bakover (KLASS-3 gjør det billigere).
3. Gate-adferden endres IKKE — ≥2-indikator-alarmen er fortsatt spesifikk (4 FP-episoder/18 mnd) og lead på 6 d er reell handlingstid. Det som endres er språket: brief/status/prediksjon sier nå «dysregulering (stress/sykdom)», og race-eve-flagget skiller infeksjon/uavklart (evidensgrunnlaget Paris/Frankfurt) fra rene stress-perioder (egen, mildere linje).
Dato: 2026-07-06 · Skrevet av: Claude (Fable, FABLE-7 fra TODO) · Grunnlag: `wellness.json` (flate felt, design #5), `quality.json` (664 økter → 427 harde i HRV-æraen), `training_load.json` (TSB pre = forrige dags rad), `illness_periods.json` + `alcohol_log.json` (konfunder-vern), race-vær i `quality.json.weather`. Startpunkt fra specen: `durability_langtur.py` (B1, eksperimentell) og `Sessions/recovery_response/` (n=2).
Hva dette er: Første analyse som måler absorpsjonskostnaden per økt-klasse på tvers — hvor mange wellness-dager en 30k+, en kvalitetsøkt eller et race koster før HRV/RHR/Body Battery er tilbake på personlig baseline — og hva som predikerer rask vs treg absorpsjon. Formålet er doserings-input til Amsterdam-blokka (u29–41) og en readiness-side durability-markør som støtter B1b-valideringen. Dette er absorpsjons-motstykket til tverrmaraton- og tverrkortdistanse-syntesene: de leste prestasjon; denne leser restitusjon.
Metode-noter (les før tallene):
1. Æra: kun 2022-09 → i dag. HRV/Body Battery/søvn er komplett først fra høsten 2022 (2022: 98 HRV-dager; 2023→: ~360/år). De to maratonene i 2022 (Barcelona-forløperen finnes ikke; Oslo 17.09 og Valencia 04.12) mangler HRV — maraton-HRV hviler på n=7 (2023-04 → 2025-10).
2. Baseline: rullende 50-dagers median, dag −4 til −54 før økta (samme definisjon som beredskaps-modellen, design #5). HRV-retur = første dag metrikken er ≥ baseline igjen; RHR-retur = ≤ baseline.
3. To målinger, ulik renhet. (a) Akutt kostnad D+1 — morgenen etter, den reneste enkeltmålingen; ekskluderer kun økt-dagen/D+1 i sykdoms-/alkohol-vindu (nA i tabellen). (b) Retur-til-baseline — hvor mange dager til metrikken er hjemme; her fortsetter Carl å trene (~6 dager/uke), så dette er reell restitusjons-bane under last, ikke isolert enkeltøkt-kostnad. Vinduer med sykdom/alkohol nulles (nR). Den isolerte delmengden (ingen ny hard økt i vinduet) er for liten til å bære egne tall.
4. Signal-valg: HRV og Body Battery bærer analysen. RHR er en non-responder for Carl (funn A4) og brukes som støtte, ikke primærmål. Konsistent med beredskaps-vekten (RHR-akutt kun 1 p).
5. Ingen skriv til `data/`. Mellomregning holdt i minnet + `outputs/_absorp.json` (utenfor repoet). Ingen sync, ingen dashboards, ingen redigering av TODO/CHANGELOG/SYSTEM_OVERVIEW (parallell-protokollen).
| Økt-klasse | n (akutt / retur) | HRVΔ% D+1 | RHRΔ D+1 | BBΔ D+1 | HRV-retur median | **Wellness-kostnad** |
|---|---|---|---|---|---|---|
| Kvalitet terskel | 268 (257 / 220) | **0,0 %** | 0 | −3 | 1 d | **~0–1 dag** (52 % ingen dip) |
| Kvalitet VO2/4×4 | 59 (59 / 55) | **+2,3 %** | 0 | −2 | 1 d | **~0–1 dag** |
| Langtur 25–30 km | 20 (20 / 20) | +1,6 % | −1 | +3 | 1 d | **~1 dag** |
| Langtur 30 km+ | 59 (56 / 54) | −1,6 % | −1 | −2 | 2 d | **~2–3 dager** |
| Race 10k | 8 (8 / 7) | −17 % | +1 | −18 | ~2,5 d | **~2–4 dager** |
| Race HM | 4 (3 / 3) | −45 %* | −1 | −45* | ~2,5 d | **~2–3 dager** (tynt) |
| Race maraton | 9 (8 / 7 m/HRV) | **−31 %** | +0,5 | −47 | **4 d** | **~4–5 dager** |
\* HM-tallene hviler på 3 rene løp — retningsgivende, ikke etablert. HRVΔ%-medianen for maraton er −30,8 % (spenn −19 til −43); BB-underskuddet tettes typisk igjen på D+2 selv når HRV fortsatt ligger nede (funn A7).
Tre klasser trer fram: kvalitet (autonomt tilnærmet gratis), 30k+/kort-race (en 2–3-dagers restitusjonsenhet), og maraton (en egen 4–5-dagers krater-klasse). Spranget mellom dem er langt større enn spredningen innad — økt-klassen selv er den dominerende absorpsjons-prediktoren. Alt annet (søvn, TSB, vær, score) modulerer i margen.
A1 — Den autonome kostnaden ved kvalitetsarbeid er tilnærmet null. 52 % av rene terskel/VO2-økter har HRV ≥ baseline allerede neste morgen; median-dippen er eksakt 0,0 %. VO2/4×4 koster ikke mer enn terskel (+2,3 % vs 0,0 % — om noe en parasympatisk rebound), stikk i strid med intuisjonen om at «harde intervaller» tapper mest. Det korroboreres av det ene recovery_response-tilfellet på plass (2026-05-11 MandagsTOSK: HRV +16,7 dagen etter). Kostnaden ved en kvalitetsøkt er muskulær/glykogen (BB −3), ikke autonom. Konsekvens for gaten: en isolert kvalitetsøkt som etterlater deg HRV-rød neste morgen er et signal om noe annet (søvngjeld, infeksjon, livsstress) — ikke om økta. Dysregulerings-språket (KLASS-2) bør leses slik.
A2 — En 30 km+ er en 2–3-dagers restitusjonsenhet — grunt dip, lang hale. Selve dippen er liten (HRV −1,6 %, RHR −1), men halen er det som teller: 61 % av 30k+-turene bruker ≥2 dager på full HRV+RHR-retur (snitt 2,5 dager mot ~1 for kvalitet). Dette er den reelle «blokk»-enheten når du planlegger avstand mellom harde stimuli — ikke kvalitetsøkta.
A3 — Race skalerer bratt med distanse; maraton er sin egen klasse. 10k ~2–4 dager, HM ~2–3 (tynt), maraton 4–5 dager med et −31 % HRV-krater D+1 (retur-median 4 dager: sekvensen var 2-4-4-5 på de fire målbare). Dette validerer 72-timers immunvakta som et gulv, ikke et tak — full autonom klarering etter maraton er 4–5 dager, ikke 3. Amsterdam-planens «3–5 rolige dager» treffer; Kbh HM → Amsterdam (28 d) har rikelig margin.
A4 — RHR er en non-responder for Carl; les absorpsjon på HRV (+ BB). Median RHRΔ D+1 er 0 for kvalitet, −1 for 30k+ (faktisk ned — parasympatisk), +0,5 etter maraton; maks-avvik ≤7 slag i hele materialet. RHR beveger seg nesten ikke selv etter et maraton. Absorpsjons-vurdering som lener seg på RHR vil systematisk «friskmelde» for tidlig. Dette er konsistent med modellens egen vekting (RHR-akutt 1 p mot HRV 3 p) og bør stå eksplisitt i enhver readiness-tolkning.
*A5 — Ferskhet (TSB-inngang) bestemmer størrelsen på det akutte dippet, ikke retur-farten — et velkjørt race SKAL gi et krater. For race korrelerer TSB-pre med HRVΔ% D+1 på r=−0,53 (n=19): jo ferskere inn, jo større dip — fordi du løper hardere og henter mer ut. Men TSB predikerer ikke tregere klarering. Samlet over alt hardt: r=−0,18. Praktisk viktig: et −30 til −45 % HRV-krater morgenen etter et godt tapret race (Energimila, Kbh, Amsterdam) er forventet og godartet — kroppens kvittering for at du fikk brukt formen. Race-eve-flagget og dysregulerings-gaten må ikke feiltolke det som sykdom. (Den ene «omvendte» bekreftelsen: 2025-08-13 10k løpt på TSB −6 ga HRV +25 %* dagen etter — lite ferskhet, moderat innsats, ingen krater.)
A6 — Varme forlenger klareringen marginalt, men målbart. Temperatur på økta korrelerer med tregere full retur (retBÅDE +0,14 til +0,18*). Gruppekontrasten er tydeligst: raske absorbenter kjørte kaldere enn trege — 30k+ 7,8° vs 10,6°, kvalitet 4,9° vs 7,9°. Størrelsesorden ~en halv dag ekstra per håndfull grader. Modest, men relevant for (a) ferie-varmen (u29) og norsk sommer (u30–31), og (b) FABLE-4a: samme økt i varme leses litt verre på wellness enn i kjølig — ikke overtolk de påfølgende dagene.
A7 — Søvn-«løftestangen» er stort sett en måle-artefakt; energi er ikke maraton-flaskehalsen. Dette er analysens ubehagelige funn. Søvnscore natten etter korrelerer sterkt med HRV neste morgen (r=+0,51 overalt) — men det er mekanisk: HRV måles under den samme natta søvnscoren graderer. Betinger man på økter som faktisk dippet HRV, predikerer søvn-etter ikke raskere flerdagers-retur i det hele tatt (r=+0,02, n=156). Den naive korrelasjonen overselger altså effekten kraftig; dataene her kan ikke bevise at «sove godt → absorbere raskere». Søvn er fortsatt det fornuftige å verne (fysiologi + det er det du faktisk styrer), men det er ikke den demonstrerte spaken tallet antyder. Beslektet: Body Battery-underskuddet etter maraton (−47 D+1) er stort sett tettet på D+2, mens HRV fortsatt ligger nede til D+4 — energitilgang er ikke det som holder deg nede etter et maraton; det autonome er.
(Score og distanse-innen-klasse er i praksis null-prediktorer: retBÅDE vs score −0,16 over alt hardt, vs km −0,01. CTL-inngang likeså. Absorpsjon avhenger av klasse og innsats, ikke av hvor godt økta ble skåret eller hvor sprek du var.)*
Oversatt til blokkplanens faser (`Running_Brief_Blokkplan-Amsterdam_v2.md` §3). Alt nedenfor er avstands- og tolknings-regler — ingen av dem endrer planens økter, de forteller hvordan du leser wellness rundt dem.
Kvalitet er autonomt billig → doble-terskel-ukene er råd (u31 første dobbel, u34–36 ukentlig onsdag). HRV-gaten på PM-terskel-morgenene vokter akkumulert dysregulering (sykdom, søvngjeld, stress) — ikke gårsdagens terskeløkt, som per A1 ikke skal ha satt spor. Regel: er HRV rød morgenen før en planlagt dobbel uten et race/30k+/sykdom i forkant, behandle det som livsstress/søvn og avgjør på følelse — ikke kutt automatisk på antagelsen «gårsdagens terskel tok meg».
30k+ er en 2–3-dagers enhet → hold harde stimuli unna D+1/D+2 etter langtur. Konkret for M-spissingen: L4-turene (u40 36 km m/ MP, u41 26 km m/ 12 MP) skal ha ≥2 rolige dager før neste harde stimulus. I HM-bygget (u34–36) ligger onsdags-dobbel og helge-langtur 32/34 km allerede ~3 dager fra hverandre — behold det; ikke la en 30k+ havne rett foran eller etter en dobbel.
Race er en 4–5-dagers enhet → immunvakt + ikke kvalitet innen 4 dager, og ignorer krateret. Etter Energimila (u32) og Kbh HM (u38): 72 t immunvakt er gulvet, full HRV-klarering tar 4–5 dager. Forvent −30 til −45 % HRV morgenen etter — det er A5-krateret, ikke et varsel. Sikt kvalitet-retur til dag 4–5, ikke dag 3.
Varme (u29 ferie-hale + norsk sommer u30–31) → legg til ~½ dag i forventet klarering. Ferie-langturene (24/26 km i varme) vil lese litt verre på wellness enn samme innsats kaldt; ikke overkutt dagene etter på det grunnlaget alene (kobling til FABLE-4a — la varme-syntesen eie den endelige justeringen).
RHR-blindsone → ikke friskmeld på RHR alene. Gjennom hele blokka: bruk HRV (+ BB-lading) som absorpsjons-signal. En «fin» RHR dagen etter en 30k+ eller et race betyr ingenting for Carl (A4).
B1b-kobling (durability): en 30k+ som koster >3 HRV-dager (mot median 2–3) er en dårlig absorbert langtur — bruk det som en readiness-side durability-flagg ved siden av decoupling. Det gir B1b en uavhengig andre-akse (autonom hale, ikke bare in-run degradering) å validere mot NY-2023/Frankfurt-blokka når 30k+-turene kommer fra u29.
| Påstand | Konfidens | Hvorfor |
|---|---|---|
| Klasse-hierarki (maraton ≫ race > 30k+ ≫ kvalitet) | **A** | Stor n, stort effekt-sprang, robust mot metode-valg |
| Kvalitet autonomt ~gratis (52 % ingen dip) | **A** | n=327, ren akutt-måling, korroborert av recovery_response |
| RHR non-responder for Carl | **A** | Konsistent ~0 på tvers, matcher modell-vekting |
| 30k+ = 2–3 dager | **B** | n=54 retur, reell-under-last (ikke isolert) |
| Maraton = 4–5 dager | **B** | HRV-retur klar, men n=7 med HRV |
| Varme forlenger ~½ dag | **B** | Signifikant men modest; era/sesong-konfundering mulig |
| TSB-inngang → dip-størrelse, ikke retur-fart | **B/C** | Mekanistisk ren, men race-n=19 |
| Søvn IKKE bevist absorpsjons-spak | **B** | Betinget test rein (r=+0,02); fravær av bevis ≠ bevis på fravær |
| HM ~2–3 dager | **C** | n=3 rene løp |
Én-linje for konsoliderings-økta: `Running_Report_Absorpsjons-Syntese_v1.md` — absorpsjon per klasse: kvalitet ~0–1 d (autonomt gratis, 52 % ingen HRV-dip), 30k+ 2–3 d, maraton 4–5 d (−31 % HRV-krater, validerer immunvakt som gulv); RHR er non-responder (les HRV+BB); TSB-inngang styrer dip-størrelse ikke retur-fart (post-race-krater er godartet — gaten må ikke misfyre); varme +~½ d; søvn-«spaken» er stort sett måle-artefakt (r=+0,02 betinget på faktisk dip). Doserings-input u29–41 + B1b-flagg (30k+ >3 HRV-dager = dårlig absorbert) i §3. Ingen data/-skriv, ingen låste filer rørt.
Dato: 2026-07-07 · Økt: FABLE-21 (TODO, Runde A) · Status: ferdig · Utfall: i hovedsak NULL (arkitektur = HRV/varighet-proxy for kvalitet), med to reelle ikke-prediktive strukturfunn (sesong + varme).
Kilder: `wellness.json` (sleep_deep/rem/light/awake_min + varighet, fra 2022-02) · `quality.json` (session_score, kvalitetsintervaller) · `training_load.json` (TSB pre = forrige dags rad, §4.3) · `races.json` (race-eve-netter) · `alcohol_log.json` (8 datoer) · `weather`-felt i quality (varme-proxy). Metode-arv: FABLE-4b (bins → multippel regresjon m/ HRV-kontroll → prekommitterte terskler → gate-logikk → multiple-testing-ærlighet).
Parallellregel: Denne økta rørte KUN denne rapportfila. Ingen skriv til `data/`, ingen TODO/CHANGELOG, ingen bygg, ingen git. All mellomregning i minne/scratchpad.
Spørsmålet var: bærer selve arkitekturen (dyp/REM/våken-minutter, ikke score) et selvstendig signal — predikerer arkitektur-avvik NOE som søvnscoren ikke allerede fanger? F4b viste at søvnscore er en HRV-proxy uten egen prediksjonskraft for øktkvalitet. Denne analysen utvider konklusjonen til minuttnivået: også arkitekturen er en proxy.
Hovedfunn (konfidens i parentes):
1. Arkitektur → øktkvalitet: NULL, høy konfidens. Med HRV (og TSB) kontrollert har ingen arkitektur-komponent — dyp, REM, våken, varighet, effektivitet, restorativ (dyp+REM) — selvstendig effekt på session_score (alle p≥0,18; HRV bærer alt, p=5·10⁻⁷). De to metrikkene som så signifikante ut univariat (lett søvn ρ=+0,18; varighet ρ=+0,16) kollapser fullstendig når HRV legges inn — de var varighets-/HRV-speil. (n=341/323, HRV-kontroll, F4b reprodusert eksakt.)
2. Arkitektur legger ingenting til utover scoren: NULL, høy konfidens. Residualiserer man hver arkitektur-metrikk på søvnscoren og tester residualet mot kvalitet (H6), er ingen residual signifikant (alle p≥0,13). Arkitektur → score → HRV er én og samme informasjon; kjeden ender i HRV. Dette lukker arkitektur-spekulasjonen for morning brief / coaching (à la F16).
3. Race-eve-frykten er ubegrunnet: betryggende, lav–middels konfidens (n=10 maraton, deskriptivt). Selve natten før løp (T‑1) ligger på Carls personlige 30-d baseline (snitt Δvarighet +0,08 t — praktisk talt null). De famøse «dårlige» race-nettene er T‑2 (reisenatten to netter før), ikke natten før: Frankfurt hadde 6,2 t T‑2 men 8,1 t / 142 min dyp T‑1 og løp PB 2:53. Ingen synlig kobling race-eve-arkitektur → prestasjon.
4. Arkitekturen har reell sesongstruktur: middels–høy konfidens. Varighet er lengre vinter/vår (jan–apr ~7,1–7,2 t) enn sommer (jun–aug ~6,8–6,9 t); REM topper sen vinter/vår (feb–mai ~78–81 min), bunner sensommer (aug ~69); dyp søvn er høyest sensommer/høst (aug–sep ~101–103). Kruskal p=0,001 (dyp), 0,002 (varighet), 0,01 (REM). Robust (n≈120–150/mnd) — men beskriver input, ikke prestasjon.
5. Varme komprimerer søvnen: middels konfidens (dag-temp-proxy, sesong-konfundert, n liten). På varme dager (≥20 °C) er natten −0,6 t kortere (p<10⁻⁴) og REM −19 min (p=0,008). Innen sommer (jun–sep) overlever REM-effekten delvis (varm ≥22° vs sval <16°: REM 55 vs 75 min, p=0,035, n=8), mens varighets-effekten mest er sesong.
6. Alkohol: ingen påvisbar arkitektur-signatur, n=8 + sirkulær merking → ingen påstand. Logg-datoene er dels auto-detektert via «REM-krasj», så en test mot samme signal er sirkulær. Ingenting signifikant.
Operativ bunnlinje: Arkitektur-tallene er fine å se på, men de er ikke en beslutningsvariabel for om en kvalitetsøkt blir god — det er HRV. Ingen ny brief-/coaching-regel foreslås. Den ene plassen arkitektur allerede brukes riktig i systemet er sykdomsdeteksjonen (`illness_periods` bruker `deep_crash_pct` + `awake_spike_min`) — dvs. arkitektur er en dysregulerings-detektor, ikke en kvalitets-prediktor. Det skillet er hele funnet.
TODO/FABLE-21 spurte om arkitekturen — de faktiske søvnstadiene i minutter, ikke Garmins sammendrags-score — bærer informasjon utover det systemet allerede har. Fem underspørsmål: (a) netter før beste/verste kvalitet og løp, (b) reise/alkohol/varme-effekter, (c) sesongmønstre, og kjernen (d) predikerer arkitektur-avvik noe scoren ikke gjør — gjelder F4bs «score = HRV-proxy»-funn også arkitekturen?
Datagrunnlag. Arkitektur-feltene (`sleep_deep_min`, `sleep_rem_min`, `sleep_light_min`, `sleep_awake_min`, `sleep_duration_h`) har ≥85 % dekning fra 2022-02-01 (313–362 netter/år); før det er de tomme. Natt-konvensjon som i F4b: søvn datert dag D = natten før morgenen D, koblet til kvalitetsøkten samme dag. Analyse-korpus: 341 kvalitetsintervaller med komplett arkitektur (langturer ekskludert — egen skår-skala). Avledede mål: dyp %, REM %, våken %, restorativ = dyp+REM, effektivitet = sovende/(sovende+våken).
Prekommittert design (før fasit-kobling). Terskler satt på forhånd: en arkitektur-effekt regnes «selvstendig» kun hvis koeffisienten er p<0,0125 (Bonferroni ~4 metrikker) og overlever HRV-kontroll. Kontroll-variabler: HRV (`hrv_value`, fallback overnight) og TSB (pre = forrige dags rad i `training_load.json`, §4.3). Alle 44 tester som ble kjørt er ført i regnskapet (§7) — multiple-testing-ærlighet.
Kalibrering (H0). Før noe nytt: reproduserte F4bs kjerneregresjon `score ~ søvnscore + HRV + TSB`. Resultat n=323: søvn β=+0,0021 (p=0,83), HRV β=+0,0305 (p=1,2·10⁻⁵), TSB β=−0,0024 (p=0,60) — matcher F4b (+0,0022 / +0,0304 / −0,0024) til fjerde desimal. Netter med søvn<74 har HRV 55,7 vs 67,5 for ≥74 — identisk med F4b. Join-konvensjonen er verifisert; alt under bygger på samme rør.
Univariat ser to metrikker «lovende» ut: lett søvn (Spearman ρ=+0,18, p=0,0008) og total varighet (ρ=+0,16, p=0,003) korrelerer svakt positivt med øktscore. Dyp, REM, våken, dyp %, REM %, restorativ og effektivitet er alle flate (|ρ|≤0,08, p≥0,15).
Men de to «treffene» er varighets-artefakter: lett søvn og varighet korrelerer r=0,70 med hverandre (lange netter er mest lett søvn), og begge korrelerer med HRV (r≈0,15–0,26). I multippel regresjon med HRV forsvinner begge:
| Modell (n=323) | arkitektur-ledd | HRV |
|---|---|---|
| `score ~ deep+rem+awake+HRV+TSB` | deep p=0,28 · rem p=0,74 · awake p=0,18 | **p=5·10⁻⁷** |
| `score ~ light+dur_h+HRV` | light p=0,17 · dur_h p=0,67 | **p=2·10⁻⁶** |
| `score ~ restorativ+effektivitet+HRV` | restorativ p=0,38 · effektivitet p=0,22 | **p=1·10⁻⁷** |
Ingen arkitektur-komponent nærmer seg den prekommitterte terskelen (0,0125). HRV er den eneste driveren i hver modell. Konklusjon: arkitekturen bærer intet selvstendig signal for øktkvalitet utover HRV. (Høy konfidens: n stor, effekt-nullen er entydig, ikke et grensetilfelle.)
Sammenligner arkitektur på netter før topp-desil (snitt-score 9,29) mot bunn-desil (5,04) kvalitetsøkter, k=34 hver:
| Metrikk | Topp | Bunn | Δ | MWU p |
|---|---|---|---|---|
| Lett søvn (min) | 263 | 227 | +36 | 0,002 |
| Varighet (t) | 7,3 | 6,8 | +0,4 | 0,005 |
| Dyp (min) | 94 | 106 | −12 | 0,10 |
| REM (min) | 78 | 76 | +2 | 0,66 |
| Restorativ (min) | 172 | 183 | −11 | 0,13 |
| Våken (min) | 5,8 | 4,4 | +1,4 | 0,44 |
| Effektivitet (%) | 98,8 | 98,9 | −0,2 | 0,62 |
Samme mønster som H1: de beste øktene følger lengre netter (mer lett søvn, mer total tid), men ikke mer dyp eller REM — faktisk marginalt mindre dyp. Dette er ikke en arkitektur-kvalitets-signatur; det er «lengre + bedre HRV henger sammen». Ingenting her overlever HRV-kontrollen fra §2.
For alle 25 løp 2022+ ble T‑1 (natten før løp) og T‑2 (to netter før) tabulert. Det operative spørsmålet er om race-eve-arkitektur påvirker prestasjon, og om «anticipation-insomnia» før A-løp er en reell risiko.
Maraton T‑1 vs Carls personlige 30-dagers baseline:
| Løp | Varighet T‑1 | baseline | Δ | Dyp T‑1 | REM T‑1 |
|---|---|---|---|---|---|
| København M 2:59 | 6,6 | 7,2 | −0,6 | 115 | 68 |
| Berlin M 2:59 | 7,4 | 7,2 | +0,2 | 101 | 56 |
| Valencia M 2:56 | 6,7 | 7,2 | −0,5 | 86 | 47 |
| London M 3:19 🥵 | 7,3 | 7,1 | +0,1 | 104 | 76 |
| **Frankfurt M 2:53 (PB)** | **8,1** | 7,2 | **+0,9** | **142** | 84 |
| New York M 3:09 | 7,7 | 7,1 | +0,6 | 161 | 62 |
| Snitt (n=10) | — | — | **+0,08** | — | — |
Race-eve-natten er i snitt på baseline (median Δ +0,08 t). Det er ingen systematisk søvnunderskudd natten før løp — tvert imot sover Carl om noe litt bedre før de store målløpene (taper + lav belastning → god søvn: Frankfurt 8,1 t, EnergiMila 8,8 t/score 94, Sommernattsløpet 8,1 t/score 100). Anticipation-insomnia er ikke synlig i dataene.
«Berlin 8,4 vs Frankfurt 6,2»-forvirringen oppklart. Spec-en refererte til T‑2, ikke T‑1. Frankfurt: reisenatten (T‑2, 25.10) var 6,2 t — men natten rett før løp (T‑1, 26.10) var 8,1 t og PB fulgte. Berlin HM: T‑2 var 8,4 t, T‑1 var 7,1 t, også PB. Begge løp ble PB uansett T‑2-natt → race-eve-arkitektur er ikke en prestasjonsspak. De to svakeste maratonene (Barcelona, Valencia 3:14) hadde henholdsvis høy REM (136 min) og normal arkitektur — motsatt av en «dårlig søvn → dårlig løp»-historie. (Lav–middels konfidens: n=10, rent deskriptivt, ingen inferens prekommittert.)
Varme — den klareste miljøeffekten. På kvalitetsøkt-dager med ≥20 °C (dag-temp som proxy) er natten −0,6 t kortere (p=7·10⁻⁵) og REM −19 min (p=0,008) vs dager <10 °C. Fordi varme dager er sommerdager, testet jeg innen jun–sep for å skille varme fra sesong: varm (≥22°) vs sval (<16°) sommernatt gir REM 55 vs 75 min (p=0,035) og varighet 6,5 vs 6,9 t (p=0,11, ns) — REM-suppresjonen overlever delvis sesong-kontrollen, varighets-effekten er mest sesong. Fysiologisk plausibelt (varme undertrykker REM). Middels konfidens: dag-temp ≠ natt-temp, og n=8 for den rene varme-innen-sommer-kontrasten. Konsistent med F4a-rammen (Italia-vinduet: søvn −5,9 under varme/reise).
Alkohol — ingen påstand. De 8 loggede datoene gir natten etter: varighet +0,8 t, REM +12 min, HRV −7,7 — men ingenting signifikant (alle p≥0,07), og verre: flere logg-datoer er auto-detektert nettopp via «sterk REM-krasj», så å teste REM mot dem er sirkulært. Underpowered + kontaminert merking → arkitektur-alkohol-effekt kan ikke vurderes på disse dataene. (For treningsberedskap gjelder uansett designregel 3: alkohol nuller illness-score, bevarer fysiologi.)
Reise har ingen egen logg; den observerbare reise-effekten er fanget i T‑2-race-nettene (§4) og varme/ferie-vinduene (F4a). Ingen selvstendig test mulig.
Måned-snitt over alle netter 2022+ (n≈120–150/mnd):
| Mnd | Dyp | REM | Lett | Varighet | Mnd | Dyp | REM | Lett | Varighet | |
|---|---|---|---|---|---|---|---|---|---|---|
| Jan | 96 | 72 | 258 | 7,11 | Jul | 98 | 75 | 241 | 6,90 | |
| Feb | 88 | 81 | 263 | 7,21 | Aug | 101 | 69 | 244 | 6,89 | |
| Mar | 90 | 81 | 249 | 7,01 | Sep | 103 | 71 | 247 | 7,01 | |
| Apr | 91 | 81 | 255 | 7,14 | Okt | 98 | 74 | 253 | 7,08 | |
| Mai | 101 | 78 | 243 | 7,03 | Nov | 97 | 73 | 248 | 6,96 | |
| Jun | 96 | 73 | 238 | 6,79 | Des | 98 | 72 | 254 | 7,05 |
Kruskal-Wallis over måneder: dyp p=0,001, varighet p=0,002, REM p=0,01 (våken og effektivitet ns). Mønsteret er koherent: sommeren gir kortere netter med mindre REM og litt mer dyp; vinter/vår gir lengre netter med mer REM. Trolig lys/temperatur-drevet (norske lyse sommernetter + varme). Robust gitt n, men dette beskriver hvordan miljøet former inputen — det er ikke en prestasjons- eller beredskaps-prediktor, og gir ingen operativ regel utover det §5 (varme) allerede sier.
Dette er spec-ens sentrale spørsmål. Metode: residualiser hver arkitektur-metrikk på søvnscoren (fjern alt scoren allerede «vet»), og test om residualet predikerer øktkvalitet med HRV kontrollert.
| Arkitektur-residual (etter søvnscore) | β mot score | p (n=323) |
|---|---|---|
| dyp_resid | −0,0033 | 0,25 |
| REM_resid | −0,0022 | 0,57 |
| våken_resid | +0,0104 | 0,18 |
| effektivitet_resid | −0,0509 | 0,16 |
| restorativ_resid | −0,0037 | 0,15 |
| lett_resid | +0,0025 | 0,13 |
| varighet_resid | +0,1359 | 0,37 |
Ingen arkitektur-residual er i nærheten av signifikant. Det arkitekturen «vet» utover søvnscoren, forklarer ikke øktkvalitet. Kombinert med §2: arkitektur → søvnscore → HRV er én informasjonskjede, og bare HRV-enden har prediksjonskraft. F4bs funn generaliserer rent til minuttnivået: også arkitekturen er en HRV-proxy. Null-funnet er svaret — og det er et verdifullt svar: det lukker arkitektur-spekulasjonen, og morning brief / coaching trenger ikke gjette på dyp/REM-minutter.
Totalt 44 hypotesetester kjørt. Ved ren tilfeldighet ville ~2,2 falle under p<0,05; 9 gjorde det (alle også <0,0125). Men de ni klumper seg i nøyaktig to reelle fenomener, begge om søvn-inputen, null om prediksjon:
Ingen av de ni overlevende sier at arkitektur predikerer kvalitet eller prestasjon. Alle prediksjons-testene (H1 multippel, H2 restorativ/dyp, H6 alle residualer) er nuller. Det er den ærlige lesningen: de reelle signalene handler om hva som former søvnen (årstid, varme), ikke om hva søvnen former.
1. Ingen ny brief- eller coaching-regel. Arkitektur-minutter er ikke en beslutningsvariabel for kvalitetsøkter. Behold HRV som primær beredskaps-driver (som F4b allerede etablerte). Dette bekrefter og utvider G1-ryddingen.
2. Race-eve: ikke bekymre deg for natten før. Data viser at Carl sover på baseline eller bedre før A-løp, og at prestasjon er upåvirket av race-eve-arkitektur (Frankfurt PB på T‑2 6,2 t). Reise-nettene (T‑2) er der forstyrrelsen sitter, men de kostet ikke tid. Ingen søvn-basert race-uke-regel er berettiget. Innspill til FABLE-22: dette støtter «reise inn tidlig, men ikke overdramatiser én dårlig reisenatt».
3. Arkitekturens ekte jobb er dysregulerings-deteksjon, ikke kvalitets-prediksjon. `illness_periods` bruker allerede `deep_crash_pct` og `awake_spike_min` som sykdomssignaler — det er den fysiologisk riktige bruken (akutt arkitektur-brudd = autonom forstyrrelse), og den skal ikke forveksles med å bruke arkitektur til å forutsi om en økt blir god. Skillet knytter til F15/KLASS-4: arkitektur hører hjemme i sykdoms-/dysregulerings-laget, ikke i kvalitets-laget.
4. Sesong/varme er kontekst, ikke alarm. At sommernetter er kortere med mindre REM er normalt for Carl — det bør ikke tolkes som formtap. Nyttig som bakgrunn når man leser wellness om sommeren (jf. F4a-varme og evt. FABLE-24 miljø-atlas), ikke som en gate.
Åpne tråder (ikke løst her): natt-temperatur mangler (kun dag-temp-proxy) — en ekte varme-på-arkitektur-test krever soveromstemp Carl ikke logger. Alkohol-arkitektur er ikke vurderbar før loggen er renere og ikke-sirkulær. Begge er lavprioritet gitt at hovedspørsmålet (prediksjon) er avklart negativt.
`Running_Report_Sovnarkitektur_v1.md` — NULL-funn på kjernespørsmålet: søvnarkitekturen (dyp/REM/våken/varighet i minutter) bærer intet selvstendig signal for øktkvalitet utover HRV, og ingen arkitektur-residual predikerer noe søvnscoren ikke alt gjør (H1+H6 nuller, HRV p=5·10⁻⁷, F4b reprodusert eksakt, n=341/323). Lukker arkitektur-spekulasjonen à la F16 — ingen ny brief-/coaching-regel. Race-eve-frykt avkreftet: T‑1-natten ligger på baseline (Δ +0,08 t), Frankfurt PB på 6,2 t T‑2-reisenatt; race-eve-arkitektur er ikke en prestasjonsspak (deskriptivt, n=10). To reelle men ikke-prediktive strukturfunn: arkitekturen har sesongmønster (kortere/mindre-REM-somre, p≤0,01) og komprimeres av varme (varighet −0,6 t, REM −19 min; REM-effekt overlever delvis sesong-kontroll, n liten). Alkohol ikke vurderbar (n=8 + sirkulær merking). Operativt: arkitekturens riktige rolle er sykdoms-/dysregulerings-deteksjon (`illness_periods` bruker alt deep_crash/awake_spike), ikke kvalitetsprediksjon. 44 tester ført; 9 signifikante klumper i sesong+varme, alle prediksjons-tester null. Ingen `data/`-skriv, ingen bygg (parallellprotokoll).
Dato: 2026-07-07 · Skrevet av: Claude (Fable, FABLE-20 fra TODO) · Grunnlag: `data/processed/activities.json` (hull-deteksjon, løpsfiltrert), `data/processed/training_load.json` (CTL/TSB-baner), `data/processed/illness_periods.json` + `data/static/illness_classification.json` (typede forstyrrelser), `data/processed/races.json` + `race_predict_model.json` (progresjon + LOO-residualer). Ankere: F17 Syvårs-syntesen v2 («friske uker er investeringen») og F15 Infeksjonsvinduene (infeksjonskost-rammen). Alt read-only; kun denne fila er skrevet (parallell-protokoll).
Hva dette er: Testen av F17-hypotesen «friske uker er investeringen», kvantifisert. Analysen katalogiserer hvert treningsavbrudd 2019→2026 (>5 d uten løp / >50 % volumfall uke-mot-uke), attribuerer årsak, måler kostnad (CTL-tap + retur-tid), og stiller det avgjørende spørsmålet: er kontinuitet en bedre prediktor for årsprogresjon enn peak-CTL/peak-uker? Svaret er mer nyansert enn hypotesen — og reframer selve kostnadsbegrepet.
Metode-noter (les før tallene):
1. Løpsfilter (viktig datarettelse): `activities.json` inneholder 161 «Ride», 69 «Ski», 58 «Hike» m.fl. feilimportert som `type=Run` (Strava-default; jf. `nonrun_overrides.json`, SYSTEM_OVERVIEW §4.6). Ufiltrert ga dette f.eks. 2019 = 1696 «løpe»-km (sykkelturer i sommerferien). Filtrert (id-liste + navnenøkkelord) matcher F17s årstabell eksakt: 2019 757 km (F17: 758), 2024 4170 (4170), 2025 4357 (4357). Alle tall under bruker det filtrerte løps-korpuset.
2. Avbrudd = uønsket brudd, ikke planlagt nedtrapping. Volumfall-metrikken (§3) fanger både avbrudd og planlagte deload/taper-uker — den er derfor konfundert og brukes kun som støtte. Den rene testen bor i avbruddskatalogen (§1), som teller ufrivillige hendelser (sykdom/skade) + kalenderpauser separat.
3. Sykdomsdetektoren dekker kun 2022+ (krever Garmin-wellness). Avbrudd 2019–21 attribueres fra Strava-beskrivelser + CTL-form, ikke fra detektoren. Skade-attribusjon er beskrivelses-basert (nøkkelord + Carls egne ord) hele veien.
4. CTL-kostnad = CTL ved onset minus CTL-bunn innen 35 d. Retur-tid = dager fra bunn til CTL igjen ≥ pre-nivå. Sesong-slutt-avbrudd får kunstig «>120 d» fordi treningen bevisst stanser — merket der det gjelder.
5. «vs modell» = LOO-residual fra `race_predict_model.json` (negativ err_pct = tregere enn modellen ventet).
Fullstendig >5-dagers komplett-stopp-liste (2019-Q1 utelatt — pre-strukturert, CTL≈0). Klassifisert på årsak, med CTL-kostnad.
| Avbrudd | Dager | Årsak | CTL-tap | Retur | Kommentar |
|---|---|---|---|---|---|
| **2022-12→2023-01 (kne)** | ~40 (6 uker ≈0 km) | **SKADE** | **−43,6** (94,7→51,1) | 209 d* | «Ødelagt kne etter Valencia». Materialets eneste ekte skade-avbrudd. Rebygde kun til CTL 82 før Paris. |
| 2021-12-23→01-07 | 16 | Jul/ferie | −24,8 | ~30 d | Årets største kalenderpause; frivillig. |
| 2022-12-29→01-16 | 19 | Jul + kne-hale | −6,7 | rask | Del av kne-episoden over (lav base = lite igjen å tape). |
| 2019-10-17→10-29 | 13 | Sesongslutt | −11,1 | — | Frivillig høstpause (nybegynner-æra). |
| 2021-09-05→09-11 | 7 | Post-race | −13,7 | ~14 d | Etter maraton-debut («alt brukt», HR 188/190). |
| 2024-12-02→12-07 | 6 | Post-race + reise | −13,0 | ~14 d | Etter Valencia (PB 2:56). Planlagt utladning. |
| 2023-04-03→04-08 | 6 | Post-race | −9,0 | ~10 d | Etter Paris. |
| 2019/2022 øvrige | 6–8 | Jul / vinter | −4…−9 | rask | Nybegynner-/basefase-pauser. |
(Kne-retur «209 d» = til nøyaktig pre-Valencia-peak 94,7; men Paris-blokka var reelt tilbake i trening innen ~5 uker på lavere platå. Tallet illustrerer at et 43-CTL-krater ikke hentes inn på én blokk.)
Den store observasjonen fra katalogen: På 7,5 år finnes det nøyaktig ett ufrivillig skade-avbrudd — kneet vinteren 2022/23. Alt annet >5-dagers stopp er enten frivillig (jul, sesongslutt, planlagt post-race-utladning) eller kort sykdom. Injury-nøkkelordskann av alle 2 000+ beskrivelser bekrefter: utover kneet finnes bare forbigående nevn (låret sep-22 én uke, «kne slarker litt» nov-24 én økt) — ingen med layoff. Carl er ekstremt holdbar; kontinuiteten hans brytes av kalender og virus, nesten aldri av kropp. Det er i seg selv det viktigste kontinuitets-funnet, og det setter rammen for resten.
K1 — Kostnaden til et avbrudd styres av TIMING × VARIGHET, ikke av dag-antallet. Katalogen spriker enormt i pris: kneet (badly-timed, rett inn i en maratonblokk) kostet −43,6 CTL og et helt maraton (Paris, se K3), mens 2025s 21 detekterte forstyrrelses-dager (§4) kostet nær null. En jul-pause på 16 dager (−24,8 CTL) hentes inn på fire uker uten spor i noen race; en 4-dagers infeksjon midt i en byggefase (post-Berlin 2026, −14 CTL, 55 d retur) river to måneder. Dag-antall er en dårlig kostnadsmåler. Den dyre varianten er lang + dårlig timet (skade/infeksjon i byggefase eller taper); den billige er kort eller etter målløpet.
K2 — På årsnivå kan kontinuitet IKKE skilles fra volum/peak — alt er kollineært og monotont. Progresjonen (10k-PB, den reneste motor-proxyen) er strengt monoton: 42:07 (2020) → 39:48 → 39:26 → 38:38 → 37:23 (2025). Det er også volum, peak-CTL og kontinuitet. Rangkorrelasjon mot 10k-progresjon (n=5 år, ultra-tynt, kun retningsgivende): median-ukevolum ρ=+1,0, peak-CTL ρ=+0,9, kontinuitets-fraksjon ρ=+0,35, lav-CV-kontinuitet ρ=+0,30. Naивt lest «taper» kontinuiteten for volum og peak — men det er en felle: (a) alt er den samme era-konfunderte tidstrenden F17 advarer mot, og (b) *du kan ikke bygge median-84-km-uker uten kontinuitet — høyt medianvolum er delvis et kontinuitetsmål. Kontinuitets-indeksene* (CV, lav-uke-andel) er dessuten forurenset av planlagte deloads/tapere (metode-note 2). Årsnivået kan altså ikke avgjøre spørsmålet; det må stilles på avbrudds- og kontrast-nivå.
K3 — Peak-CTL er DISPONIBEL — det ene stedet dataene skiller, vinner kontinuitet/kvalitet over peak. Den eneste separerbare kontrasten i materialet er 2024→2025: peak-CTL FALT 115→106 (−9), men 2025 ga årets største motorsprang (10k −75 s til 37:23, maraton −3:31 til 2:53:06). Volumet var praktisk talt identisk (median-uke 83,6→84,0 km), kontinuiteten holdt (kun 2 lav-uker mot 3), og kvaliteten (dobbel-terskel/mølle) steg. Å presse peak-CTL høyere var altså ikke spaken over platået — det bekrefter F17s «volum er en plattform, ikke en spak», og flytter det til peak-CTL spesifikt: 2025 beviser at nivået klatrer videre på lavere peak så lenge de friske ukene og kvaliteten er der.
K4 — Race-residualene bekrefter mekanismen: den dyre avbrutte blokka underpresterte, den billige gjorde det ikke. Paris 2023 (kne-stjålet base, kun CTL 82 mot 94,7-peaken) underpresterte modellen på hvert horisont (T-14 −1,2 %, T-28 −1,5 %, T-56 −3,5 %, T-84 −2,4 %) — avbruddet er synlig i tallet, ikke bare i fortellingen. Frankfurt 2025 (spredte, korte sykedager, full base) lå derimot på/over modell (T-7 −0,8 % → T-84 +4,9 %) — en negativ-split-PB. Kontinuitet som bygde full base → race på nivå; avbrutt base → race under nivå. (Brukt varsomt: residualer konflater vær/dagsform/racecraft; Paris og Frankfurt er to punkter, ikke en lov.)
K5 — Det reneste årsnivå-signalet peker likevel mot friske uker: det beste året var det friskeste. 2024 — gjennombruddsåret (første sub-3, peak-CTL 115 all-time, største maratonsprang −9:51) — hadde færrest forstyrrelses-dager i hele materialet: 3. Til sammenligning 2022: 11, 2023: 16, 2025: 21, 2026: 40 (så langt). Den friskeste sesongen var den beste sesongen. Det er den sterkeste år-nivå-støtten til F17-hypotesen — men n=1, og 2024 var også toppen på volum og kvalitet, så det er ikke en ren kausaltest. Det er suggestivt, ikke bevist.
| År | Median-uke km | CV % (lavere=jevnere) | Kont-fraksjon¹ | Peak-CTL | Forstyrr.-dager² | 10k-PB | Maraton-PB |
|---|---|---|---|---|---|---|---|
| 2019 | 17 | 53 | 0,62 | 69 | — | — | — |
| 2020 | 42 | 27 | 0,81 | 77 | — | 42:07 | — |
| 2021 | 47 | 33 | 0,88 | 92 | — | — | 3:30:07 |
| 2022 | 52 | 47 | 0,79 | 96 | 11 | 39:48 | 3:14:28 |
| 2023 | 68 | 30 | 0,81 | 104 | 16 | 39:26 | 3:09:07 |
| **2024** | **84** | 32 | 0,75 | **115** | **3** | 38:38 | **2:56:37** |
| **2025** | 84 | **24** | **0,88** | 106 | 21 | **37:23** | **2:53:06** |
| 2026* | 79 | 27 | 0,81 | 95 | 40 | — | 1:21:18 (HM) |
¹ Andel uker ≥70 % av årets median. ² Detektor, kun 2022+. *2026 delår.
Dommen (ærlig): På denne tabellen er volumnivået den sterkeste enkeltkorrelaten til progresjon, ikke noen kontinuitets-indeks — men (K2) det er en tidstrend-artefakt, og volumet forutsetter kontinuiteten. *Kontinuitet er ikke en bedre årsnivå-prediktor enn peak-CTL/volum; den er en nødvendig betingelse for dem. Der dataene faktisk skiller (2024→2025, K3), taper peak-CTL. Og det reneste enkeltmønsteret (K5: friskeste år = beste år) og residual-mekanismen (K4) peker samme vei: friske uker vinner ikke en regresjon mot volum — de muliggjør volumet og beskytter realiseringen. F17-hypotesen holder, men presiseres: investeringen er ikke en kontinuitets-ratio å maksimere, det er fraværet av dyre avbrudd*.
F17s ramme: Frankfurt-blokka «kostet 7 sykedager», pluss den 10-dagers post-Frankfurt-perioden (27.10, F15 foreslår re-typet → infection). Detektoren finner 9 forstyrrelses-dager før Frankfurt (11.7 2d, 5.8 1d, 20.9 2d, 18.10 2d + hale) og 12 etter (27.10→05.11 pluss to desember-netter) — konsistent med «7+10».
De 7 (i blokka): alle korte (1–2 d), spredt over juli–oktober. Tross dem toppet CTL på 106 (5. okt) — årets høyeste — og Frankfurt ble en negativ-split-PB (2:53:06) som lå på/over sin egen modell (T-7 −0,8 %). Fjerner man dem: CTL kanskje +2–4 inn i race, men Frankfurt overpresterte allerede sin base. Estimert tidsgevinst: neglisjerbar — trolig <15–20 s, innenfor modellstøyen. Blokka absorberte dem.
De 10 (etter Frankfurt): sesongslutt, null race etter 26.10. Effekt på 2025-utfall: null. Marginal effekt = litt tidligere start på vinterbasen 25/26.
Ærlig dom: 2025 uten de 7+10 sykedagene ≈ identisk 2025. Nettopp fordi de var korte og godt (eller uskadelig) timet, var de nesten gratis — 2025 var allerede den «friske» kontrafaktikken. Det motsatte av en gratis-sak finnes to andre steder i materialet, og det er de kontrafaktikkene som betyr noe: Paris-2023-uten-kneet (full base → et reelt 3:0x i stedet for 3:21) og Berlin-2026-uten-infeksjonen (to måneder spart). Lærdommen speiler K1: det er ikke antall sykedager i et år som avgjør — det er om de treffer en byggefase/taper eller ikke. 2025 hadde flest forstyrrelses-dager av alle modne år (21) og betalte minst for dem.
| Funn | Konfidens | Hvorfor |
|---|---|---|
| K1 — kostnad = timing × varighet, ikke dag-antall | **A** | Katalogen spriker to størrelsesordener på pris; mekanistisk opplagt |
| Katalogen: ett ufrivillig skade-avbrudd på 7,5 år | **A** | Uttømmende hull-skann + beskrivelses-skann; robust |
| K3 — peak-CTL disponibel (2024→2025) | **B** | Ren separerbar kontrast, men n=1 år-par, dobbel-terskel-konfundert |
| K4 — avbrutt base → race under modell (Paris) | **B** | Residual entydig på Paris, men to-punkts + racecraft-konfunder |
| K5 — friskeste år = beste år (2024) | **B/C** | Sterkt mønster, men n=1 og kollineært med volum/kvalitet |
| K2 — kontinuitet ikke separerbar fra volum på årsnivå | **A** | Kollinearitet + monoton trend er et faktum, ikke et estimat |
| §4 — 2025-kontrafaktikk ≈ identisk | **B** | Godt begrunnet av CTL-topp + Frankfurt-residual, men et estimat |
1. Kontinuitets-metrikken som betyr noe er «dyre-avbrudd-teller», ikke en ratio. Blokk-monitorens ≤2-sykedager-KPI (BLK-1) bør vektes på timing: en sykedag i taper eller siste byggeuke er dyr; en i basefase eller post-race er gratis. Foreslå: flagg kun forstyrrelser som faller i de siste 6 ukene før A-race eller i en definert byggefase.
2. Slutt å jakte peak-CTL over ~106–110. K3 viser nivået klatrer på lavere peak med bevart kontinuitet + kvalitet. Dette bekrefter v3s tak (85–95 km/u bygg) fra en ny vinkel: peak-CTL er ikke spaken, og å presse den kjøper avbrudds-risiko (jf. Frankfurt-taket, F17).
3. Skade er ikke risikoen — virus og kalender er. Kneet 22/23 er eneste skade på 7,5 år; holdbarheten er et aktivum, ikke en bekymring. Kontinuitets-vernet skal derfor rettes mot infeksjon (F15s kalenderstyrte immunvakt IV1–IV5) og mot å ikke stable dårlig-timede avbrudd — ikke mot skadeforebygging, som allerede er løst av Carls kropp.
4. 2027-valg (F17 §6): kontinuitets-linsen favoriserer form A (gjenta 2026-malen) — færre A-race = færre dårlig-timede eksponeringsvinduer, og mindre fristelse til peak-jag. Form B (2–3 maraton) multipliserer eksponeringsvinduene (K1) og bør kun velges hvis immunvakta er stram.
Én-linje for konsolideringsøkta: `Running_Report_Kontinuitet_v1.md` — på 7,5 år har Carl ett ufrivillig skade-avbrudd (kneet vinter 22/23, −43,6 CTL, stjal Paris-basen); ellers brytes kontinuiteten av kalender og virus, nesten aldri av kropp. Avbruddskostnad = timing × varighet, ikke dag-antall (K1): 2025s 21 forstyrrelses-dager var nær gratis (korte/godt timet — kontrafaktikken ≈ identisk 2025), mens 4 infeksjons-dager i en byggefase (2026) rev to måneder. Kontinuitet er ikke en bedre års-prediktor enn volum/peak — den er betingelsen for dem (K2), men peak-CTL er disponibel (2024→2025: −9 peak, største motorsprang, K3), og friskeste år = beste år (2024, 3 forstyrr.-dager, K5). F17-hypotesen holder, presisert: investeringen er fraværet av dyre (lange, dårlig-timede) avbrudd, ikke en kontinuitets-ratio å maksimere. Datarettelse underveis: løpsfilteret fjernet sykkel/ski/tur feilimportert som Run (matcher nå F17s årstabell eksakt). Ingen data-/TODO-/CHANGELOG-skriv; parallell-protokoll holdt.
Dato: 2026-07-07 · Skrevet av: Claude (Opus 4.8, OPUS-SPOR-A fra TODO) · Grunnlag: `data/processed/training_load.json` (CTL/ATL/TSB-baner, τ_CTL=42, τ_ATL=7), `data/processed/activities.json` (2 081 løp etter cross-training-filter), `data/processed/quality.json` (I3-terskeløkter), `data/static/zones.json` (`physiology_by_period` — LT2-ankere per æra). Anker: F20 / `Running_Report_Kontinuitet_v1.md` (avbruddskatalogen — bygger på, duplerer ikke). Alt read-only; kun denne fila er skrevet (parallell-protokoll, SPOR A).
Hva dette er: F20 katalogiserte hvilke avbrudd som skjedde og CTL-kostnaden av dem. Denne tar neste steg: decay-raten — hvor fort taper Carl reell form (ikke CTL-bokføring) i et avbrudd, og hvor fort kommer den tilbake. Skillet er hele poenget: CTL er et EMA-regnskap over belastning, ikke et mål på motoren. Spørsmålet RC6 svarer på er «hva koster sommerens Europa-bilferie egentlig», og svaret er mindre enn CTL-krateret antyder.
Metode-noter (les før tallene):
1. To klokker, ikke én. CTL (fitness-proxy i Banister-modellen) faller matematisk med τ=42 d → halveringstid 29,1 d i et komplett stopp. Motoren måles fysiologisk: aerob effektivitet, terskel og VO2. De to henger sammen, men de reverserer i vidt forskjellig tempo — det er hovedfunnet.
2. Aerob-markøren = EF = m/min per hjerteslag for easy/langtur, utendørs, HR 115–150, ≥5 km (n=1 144). HR-normalisert, så den fanger «hvor fort går han på en gitt puls». Oversatt til intuisjon som pace@128 = 1000/(EF·128) s/km. Dette er «aerob@128» — ikke et smalt HR-bånd (der n er for tynt bakover), men hele easy-korpuset normalisert.
3. LT2-proxy leses fra to hold: æra-ankrene i `zones.json` (Carl-kanoniske, låst) og empirisk median-pace på I3-terskeløkter per år. Pace-grensene drifter mellom æraer (SYSTEM_OVERVIEW §4.4) — LT2 leses derfor æra-relativt, aldri absolutt bakover.
4. VO2 har ingen kontinuerlig historikk i systemet (`garmin_pred_history` har 2 rader, fra 2026-07-05; Garmins løpende VO2-estimat er aldri logget). Eneste harde punkt er lab-ankeret VO2maks 61,7 (Granåsen 24.02.2026). VO2 behandles derfor som diskret anker, med EF/terskel som den kontinuerlige proxyen.
5. n er tynt og konfundert. Materialet har ett ekte skade-avbrudd på 7,5 år (kneet 22/23 — F20s funn). Alt annet >5-dagers stopp er kort (6–20 d) eller frivillig. Reversibilitets-τ under er derfor størrelsesordener, ikke fittede konstanter. Der jeg gir et tall, gir jeg konfidensgrad.
Gap ≥6 d uten løping, 2020→, med CTL ved onset, CTL-bunn innen 35 d og retur-tid til pre-nivå. Matcher F20s katalog (samme hendelser, samme størrelsesorden).
| Avbrudd | Dager | CTL onset→bunn | CTL-tap | Retur (CTL≥pre) | Type |
|---|---|---|---|---|---|
| **2022-12-04 → (kne, kompound)** | 6 + 20¹ | 94,7 → 51,8 | **−42,9** | 251 d | Skade |
| 2021-12-22 → 01-08 | 17 | 77,5 → 45,2 | −32,3 | 203 d | Jul/kalender |
| 2024-12-01 → 12-08 | 7 | 96,7 → 72,4 | −24,3 | 90 d | Post-race (Valencia) |
| 2021-09-04 → 09-12 | 8 | 88,3 → 64,3 | −24,0 | >250 d | Post-race (debut-M) |
| 2022-05-08 → 05-14 | 6 | 77,3 → 64,5 | −12,8 | 66 d | Kort/vinter |
| 2023-04-02 → 04-09 | 7 | 82,0 → 71,1 | −10,9 | 103 d | Post-race (Paris) |
¹ Kne-krateret er kompound: et 6-dagers stopp 04.–10.12 (CTL 95→52) + et 20-dagers 28.12–17.01. F20s «−43,6» og denne −42,9 er samme hendelse, ulik onset-dag.
Observasjon (samme som F20 K1): CTL-tapet styres av timing × varighet, ikke dag-antall. Et 7-dagers post-race-stopp (Valencia) «koster» −24 CTL fordi det starter fra en høy, fersk topp; et 20-dagers kne-hale-stopp koster −7 fordi basen alt var i grus. CTL-tap er en dårlig formkostnad-måler — det er derfor motoren må måles direkte.
EF-median per år, med pace@128 som intuisjon. Monoton stigning; dette er motoren som faktisk bygges.
| År | EF (m/min/bpm) | pace@128 | n |
|---|---|---|---|
| 2019 | 1,104 | 7:05 | 33 |
| 2020 | 1,303 | 6:00 | 135 |
| 2021 | 1,311 | 5:58 | 139 |
| 2022 | 1,329 | 5:53 | 118 |
| 2023 | 1,376 | 5:41 | 174 |
| 2024 | 1,435 | 5:27 | 194 |
| 2025 | 1,472 | 5:19 | 232 |
| 2026 | 1,479 | 5:17 | 119 |
Fra strukturert start (2020) til nå: −43 s/km på samme puls (6:00 → 5:17 @ HR128). Det er motoren. 2019 er nybegynner-outlier (n=33, lav base). Merk at trenden er æra-konfundert (vekt, terreng-miks, sko, kunnskap flytter seg samtidig — arvet fra F17/F20); les den som retning, ikke ren fysiologi.
EF-endring fra 35-dagers pre-vindu til første 21 dager tilbake, for alle gap≥6 d med nok data (n=7 brudd): scatter ±5 %, uten pålitelig trend (regresjon EF% mot gap-dager: r=0,43 på n=7 — det er støy, og fortegnet blir til og med feil). Konkret: 6–9-dagers stopp ga +1,6 %, −4,5 %, −4,2 %, +3,5 %, −0,4 %, +0,0 %, −5,4 %. Sprikende rundt null. Under to uker helt av flytter ikke den aerobe effektiviteten mer enn dag-til-dag-støyen. Det matcher fysiologien: mitokondrie-tetthet og plasmavolum tåler 1–2 uker; det som faller først er glykogen og «touch», ikke motoren.
Uke-for-uke EF etter gjenopptak 17.01.2023 (pre-nivå EF 1,355, pace@128 5:46):
| Uke tilbake | EF | vs pre | pace@128 |
|---|---|---|---|
| 0–3 | 1,346–1,363 | −0,7 … +0,6 % | 5:44–5:48 |
| 4 | 1,270 | **−6,3 %** | 6:09 |
| 5 | 1,243 | **−8,3 %** | 6:17 |
| 6 | 1,321 | −2,5 % | 5:55 |
| 7 | 1,339 | −1,2 % | 5:50 |
| 8–12 | 1,318–1,334 | −1,6 … −2,8 % | 5:51–5:56 |
Bunnen er ikke på dag én tilbake — de første ukene var korte, forsiktige jogg (lav HR → EF ser normal ut). Den reelle detreningen viste seg da volum/lengde kom tilbake (uke 4–5: −8 % EF ≈ +30 s/km på HR128), og var innhentet til innenfor 2 % av pre-nivå i uke 7. Sammenlign med CTL: samme hendelse tok 251 d å fylle tilbake til pre-toppen. Motoren reverterte ~7× raskere enn CTL-regnskapet. (Varsomt: n=1 hendelse, 2–12 løp per ukevindu, terreng/HR-konfund. Formen på kurven er robust; de eksakte prosentene er ikke.)
Debut-maraton sep-21 (−3,7 % EF) og Valencia des-24 (−4,6 %) ser ut som rask detrening, men er konfundert to veier: pre-vinduet er taper-skjerpet (kunstig høy EF), og de første ukene tilbake bærer muskelskade fra selve løpet (EF lavt uansett trening). Disse tallene måler race-kostnad, ikke reversibilitet, og skal ikke leses som decay-rate.
| Markør | Hvor fort tapes den | Hvor fort kommer den tilbake | Konfidens |
|---|---|---|---|
| **CTL** (bokføring) | Halveringstid 29 d (deterministisk) | Uker–måneder (250 d etter kne) | A |
| **Aerob EF / pace@128** | ~0 under 2 uker; −6…−8 % etter 6 uker helt av | ~5 uker til innenfor 2 % (τ ≈ 3–5 uker) | C |
| **LT2 / terskel** | Ikke målbart tapt i noe dokumentert brudd | Bygges over år, ikke uker (§4) | B |
| **VO2maks** | Ingen kontinuerlig data; antatt som EF | Diskret lab-anker, ingen brudd-oppløsning | C |
LT2 klatret jevnt gjennom æraene og ble aldri målbart revet av et avbrudd:
| År | LT2-anker (zones.json) | Empirisk I3-øktpace |
|---|---|---|
| 2020 | 4:25 @ HR170 | 4:27 (n=17) |
| 2021 | 4:15 @ HR171 | 4:20 (n=29) |
| 2022 | 4:05 @ HR172 | 4:30 (n=22) |
| 2023–26 | 3:49 @ HR169 | 4:15 → 4:05 → 4:00 → 3:55 (2023→26) |
De to kildene (kanonisk anker + empirisk øktpace) sporer hverandre og bekrefter uavhengig: terskelen er en fleràrig strukturell adaptasjon (−36 s/km 2020→2026), ikke noe som svinger med en 2-ukers pause. Det er den motsatte tidskonstanten av glykogen/«touch» — treg å bygge, treg å tape.
VO2maks: lab 61,7 (feb 2026) er eneste harde punkt. Uten kontinuerlig logg kan detrening-effekt på VO2 ikke måles direkte her; litteraturen (Coyle, Mujika) sier VO2 faller ~1 %/uke først etter ~2 ukers totalstopp og henter seg inn på uker — konsistent med EF-mønsteret over. Behandle VO2 som treg og klebrig, som terskelen.
1. Slutt å lese CTL-krateret som formkostnad. CTL-halveringstiden på 29 d og et −43-krater er belastnings-bokføring. Motoren (EF, terskel) er formen, og den beveger seg knapt under to uker og reverterer innen ~5 uker selv etter 6 uker helt av. Frankfurt-taket og «volum er en plattform, ikke en spak» (F17/K3) gjelder også reversibilitet: du taper ikke plattformen på en ferie.
2. Europa-bilferien (sommer 2026) koster motoren ~null. ~2 uker med redusert løping ligger godt inne i «gratis»-sonen (D1). 3–5 rolige økter i uka holder EF flatt. Det eneste som faller er CTL (bokføring), og det fylles tilbake på ~4 uker (τ_CTL=42 → ~1 %/dag oppbygging ved normal dose). Ikke panikk-bygg etter ferien — jag TSB tilbake til båndet, ikke CTL-toppen.
3. Bruddet du skal frykte er langt + dårlig timet. Paris 2023 (kne-stjålet base, kun CTL 82 mot 94,7-toppen) underpresterte modellen på hvert horisont (F20 K4). Det er ikke dagene som er dyre — det er en flerukers forstyrrelse som lander i en byggefase eller taper. Vern de siste 6 ukene før et A-løp (kobler til F15s immunvakt IV1–IV5, K1s «dyre-avbrudd-teller»).
4. Detrenings-vern ≠ skadevern. Ett skade-avbrudd på 7,5 år — kroppen har alt løst holdbarheten (F20). Reversibilitets-regnskapet peker samme vei: rett vernet mot infeksjon i feil vindu og mot å stable dårlig-timede pauser, ikke mot decay i seg selv, som er langsom for alt som betyr noe.
5. Topp-vinduet 2026–2028 handler om friske uker, ikke om å frykte tap. VO2 og terskel er fleràrige bygg; ingen kort pause truer dem. Sub-1:20/sub-2:50 kjøpes ved å akkumulere kvalitet på en motor som ikke lekker mellom øktene — ikke ved å aldri ta pause.
Bygger på F20 (Kontinuitet). Ingen CTL-/EF-tall er antatt — alle er regnet fra `training_load.json`, `activities.json`, `quality.json` og `zones.json` i denne økta. Der data er tynt (D2/D3, VO2) er det merket med konfidens C.
Dato: 2026-07-07 · Skrevet av: Claude (Opus, OPUS-SPOR-D / D4 fra TODO) · Grunnlag: `activities.json` (ukevolum + økt-datoer 2021→2026) · `quality.json` (kvalitetsøkter + langturer + skår) · `training_load.json` (daglig ATL/CTL/TSB) · `races.json` (deload-timing) · About_me + SYSTEM_OVERVIEW lest først.
Hva dette er: RC8 fra Runde-C. Spørsmålene: (1) hva ER Carls faktiske mikrosyklus (dag-til-dag-sekvensering)? (2) følger han 3-1-rytmen (Bakken månedssyklus) han sier han gjør? (3) hvilke ukestrukturer ga best absorpsjon/formsprang? Analysen dekker 2021→2026 (287 uker), moderne æra der data er tett.
Metode-noter: (1) Uke = ISO-uke. Kvalitet = interval/tempo/vo2max_4x4 i quality.json (MP-langturer telles som langtur, ikke Q — viktig for §3). (2) Deload = uke med km < 80 % av foregående 3-ukers snitt. (3) Form-respons målt som ΔCTL over +3 uker (TRIMP-basert) + kvalitetsskår-snitt — begge er blokkfase-konfundert (se §5). (4) Absorpsjon på uke-nivå er grovt proxy'd via CTL/skår; ekte HRV/RHR-absorpsjon er dag-nivå (F7/F20-territorium).
Dag-for-dag (2022+):
| Man | Tir | Ons | Tor | Fre | Lør | Søn | |
|---|---|---|---|---|---|---|---|
| Kvalitet | **98** | 39 | **117** | 34 | 33 | 14 | 14 |
| Langtur | 4 | 6 | 4 | 14 | 19 | **74** | **57** |
Skjelettet er MandagsTOSK + OnsdagsTOSK + helg-langtur — 72 % av all kvalitet ligger man/ons (bane-dagene), 88 % av langturene ligger tor–søn med tyngde lør/søn. Resten av uka er rolig påfyll.
Kvalitets-avstand (dager mellom to påfølgende kvalitetsøkter, ≤10 d):
| Gap | 1 d | 2 d | 3 d | 4 d | 5 d | 6 d | 7 d |
|---|---|---|---|---|---|---|---|
| Antall | **8** | **106** | 44 | 23 | 71 | 23 | 32 |
Median 4 d. Modusen er 2 d (Man→Ons), deretter 5 d (Ons→neste Man). Back-to-back kvalitet (1 d) forekom 8 ganger på 5 år (~2 %) — Carl legger så godt som aldri to harde dager på rad. Det er den sterkeste enkeltregelen i mikrosyklusen: hard-lett-hard-lett, aldri hard-hard.
Ukevolum (287 uker >10 km): median 70 km, p25 51, p75 89, maks 130.
Den uttalte «3 uker progresjon + 1 uke regenerering» (CLAUDE.md, Bakken-månedssyklus) er aspirasjon, ikke praksis. 51 deload-uker i perioden, med gap mellom deloads:
| Gap mellom deloads (uker) | 1 | 2 | 4 (ren 3-1) | 5–6 | 10+ |
|---|---|---|---|---|---|
| Antall | 20 | 3 | **3** | 9 | 11 |
Ren 3-1 (4-ukers gap) forekom 3 ganger. Median-gapet er 4 uker, men spennet er 1→24 — helt uregelmessig. Og avgjørende: 59 % av alle deloads ligger innen ±1 uke av et løp. Carls «regenerering» er ikke en kalenderrytme — det er taper + løp-restitusjon + livsavbrudd (reise/sykdom). Han bygger sammenhengende til noe tvinger en nedtrapping.
Det rimer med F17/F20-lærdommen («friske uker er investeringen»): kontinuitet, ikke syklisk deload, er den faktiske drivmekanismen. En innlagt 3-1 ville brutt kontinuiteten han tjener på.
De to PB-blokkene har motsatt mikrosyklus, hver riktig for sin distanse:
Berlin HM-26 (1:21:19) — frekvens-ledet:
```
W02-W13: 2Q nesten hver uke, 79-113 km, CTL 83→93 → W13 taper 54km
```
Metronom: 2 kvalitetsøkter + ~90 km, uke etter uke, ingen midt-blokk-deload — 11 sammenhengende uker + én taper. CTL +10 over blokka. HM belønner terskel-frekvens.
Frankfurt-25 (2:53:06) — volum-ledet:
```
W33-W43: 1Q/uke men 100-120 km, CTL 99→106 → W41-43 taper 92→76→72
```
1 bane-kvalitet + 100–120 km (kvaliteten flyttet INN i MP-langturene, som teller som langtur her). Mye høyere CTL-plattform (106 vs 93). Maraton belønner volum + spesifikk MP-langtur, ikke bane-frekvens.
Fellesnevner: ingen av PB-blokkene brukte midt-blokk-deload. Begge akkumulerte 10–11 uker sammenhengende og tapret én gang. Det er §2-funnet i praksis.
ΔCTL over +3 uker + kvalitetsskår, bøttet på ukas kvalitetsantall:
| Q/uke | n uker | median km | median ΔCTL(+3u) | median kval-skår |
|---|---|---|---|---|
| 0 | 55 | 49 | +0,5 | — |
| 1 | 96 | 69 | **+2,4** | 7,05 |
| 2 | 95 | 80 | +1,8 | 7,95 |
| 3 | 16 | 86 | +1,2 | 8,02 |
Lesning (med tunge forbehold, §5): 1–2 kvalitetsøkter på 65–80 km er den CTL-effektive sonen. 3 Q/uke gir MINST CTL-vekst (+1,2) — men de ukene ligger nær løp/taper (der CTL faller per konstruksjon), og kvalitetsskåren er høyest (8,0), så det er en seleksjons-, ikke en dose-effekt. Kvalitetsskåren stiger monotont med Q-antall (7,05→7,95→8,02) fordi flere-Q-uker er fitness-uker. Storuke (≥90 km, ΔCTL +2,0) og moderat uke (40–70 km, +1,9) bygger CTL likt — fordi CTL er TRIMP-drevet: en 65 km-uke med 2 kvalitet matcher en 95 km rolig uke.
Til Amsterdam-blokka (u29–41): bruk Frankfurt-arkitekturen (den er maraton-fasiten): 1 bane-kvalitet + MP-tyngde i langturen + 100–120 km storuker, CTL mot 105+, ingen midt-blokk-deload — akkumulér til T−3 taper. Behold hard-lett-hard-lett (aldri back-to-back kvalitet, §1). Kbh HM-toppen (T−4) tåler en kort 2X-frekvens-uke à la Berlin-blokka for skarphet. Ikke innfør en kunstig 3-1 — kontinuiteten er verdien (§2).
Ærlighetsnotat: dette er beskrivende korrelasjon, ikke kausalitet. ΔCTL-per-struktur (§4) er tungt blokkfase-konfundert (peak-uker → taper → CTL-fall gjør høy-Q-uker «se dårlige ut»); retningen (1–2 Q er nok for CTL) er robust, størrelsene ikke. PB-blokk-fingeravtrykkene (§3) er n=2 — «volum-maraton / frekvens-HM»-kontrasten er sterk og mekanistisk plausibel, men to blokker beviser ikke en lov. Deload-deteksjonen (80 %-terskel) er en heuristikk; en annen terskel flytter tellingen, men ikke konklusjonen (ingen fast 4-ukers kadens). «Absorpsjon» er her CTL/skår-proxy — ekte absorpsjon (HRV/RHR-retur per øktklasse) bor i F7/F20 og er ikke reberegnet her. Kvalitets-antallet undervurderer maraton-blokkenes reelle harde arbeid fordi MP-langturer telles som langtur, ikke Q (§3-nyansen). Æra er relativt homogen (2021→26, samme løper), så æra-konfundering er mindre her enn i D1/D2 — men fitness-trenden gjennom perioden farger alle +3u-tallene.
Parallelløkt-notat (SPOR D): kun denne fila skrevet i D4-steget; TODO/CHANGELOG/SYSTEM_OVERVIEW/quality.json/training_blocks urørt; ingen sync/bygg/git; ingen skriv til data/.
Konsolidering: `Running_Report_Mikrosyklus_v1.md` (RC8/D4) — mikrosyklusen er et fast skjelett (Man+Ons-TOSK + helg-langtur; kvalitet spaced 2–3 d, back-to-back ~2 %). 3-1-rytmen finnes ikke som kadens — 59 % av deloads er ±1 u fra løp, PB-blokkene kjørte 10–11 sammenhengende uker + én taper (kontinuitet > syklisk deload, F17/F20). To vinnende arkitekturer: Frankfurt volum-ledet (1Q+110km, CTL 106) / Berlin-HM frekvens-ledet (2Q+90km, CTL 93) → Amsterdam bruker volum-arkitekturen. Form-respons: 1–2 Q er CTL-nok; 3 Q er seleksjon ikke dose (blokkfase-konfundert).
Dato: 2026-07-07 · Økt: FABLE-16 (kveldspakke 3) · Status: komplett — hovedkonklusjonen er et robust NULL-funn pluss ett reelt bifunn.
Kilder: Strava name+description for alle 2 439 aktiviteter (997 tekstenheter, 700 med beskrivelse) · `Coach/daily_log.json` (13 entries, 12.4–19.5.26 — for tynn og for sen til lead-testing, se §7) · fasit: `illness_periods.json` (31 perioder) + `illness_classification.json` (typing) · HRV fra `wellness.json` (2022-09→) · `session_score`/`langtur_score` · LOO T-14-residualer fra `race_predict_model.json` · F5/F6-kategoriene (rene/sprekk, hendelse/brudd).
Én setning: Carls egne ord LEDER ingenting — ikke sykdom, ikke sprekker, ikke PB-er — og «magefølelse i tekst» skal ikke inn i noen gate; men eksplisitt sykdomsspråk (🤧/forkjølelse/hals) bærer infeksjonsinformasjon som wellness-detektoren beviselig ikke ser, og bør fanges som TYPE-hint, ikke som prediktor.
Multiple-testing-kravet i spec-en (spørsmål 4) ble håndtert slik, i denne rekkefølgen:
1. Prekommittering FØR fasit-kobling. Markørfamiliene og alle tester ble låst før noen tekst ble koblet mot utfall. Familiene: A1 tunge/råtne bein · A2 uforklart tyngde/flathet · A3 sliten/søvn · A4 eksplisitt sykdomsnært (tett/snufs/hals/forkjøl/feber/🤧) · A5 pulsavvik · A6 kutt/avbrudd · A7 negasjon-uten-årsak («ikke dagen», «lite som stemte») · A8 mage/GI · B1 flyt/letthet · B2 overskudd · B3 entusiasme/emoji · B4 progresjonsobservasjon. Dømmekraftsregler: «tungt men godt» = positiv; ytre forklaring (vind/varme/høyde/dagen-derpå/skade) → NEG_EXPLAINED, ikke NEG_UNEXPLAINED; ironi kodes på substans.
2. Blind koding. Leksikon-pass (deterministisk) + LLM-dømmekraft på 410 enheter (112 leksikon-flaggede + alle økter i −7..−1-vinduer rundt onsets/løp + 120 tilfeldige kontroller), presentert shufflet og UTEN dato/utfall. Kodekategorier per øktdag: NEG_U · NEG_E · SICK · MIX · POS · NEU. Resultat per dato (verste kode per dag): 38 NEG_U, 12 SICK (+2 MIX med A4-innslag = 14 dager med eksplisitt sykdomsspråk), 60 POS, 35 NEG_E, 7 MIX, 245 NEU — 397 kodede datoer.
3. Åtte prekommitterte tester (T1–T8) + én eksplisitt merket eksplorativ. Alle rapporteres under, uansett utfall.
Skrivetidspunkt-aksiomet (spec-ens felle nr. 1): Strava-tekst skrives ETTER økta samme dag. «Ledende» betyr her: tekst fra øktdag t−k, utfall dag t. Race-dagens egen tekst er per definisjon post-hoc for det løpet og er ekskludert fra alle lead-tester.
Beskrivelses-raten er ekstremt æra-skjev: 2019 0 % → 2021 23 % → 2022 61 % → 2023 88 % → 2024–26 93–97 %. Detektor-onsets er samtidig skjeve mot wellness-æraen (19 av 31 i 2025–26). All sammenligning på tvers av æra er derfor gjort era-kontrollert der det betyr noe (T7 ble snudd av nettopp dette). Median beskrivelse er 30 tegn — språket er kompakt, men det er ekte Carl-språk: struktur + én subjektiv setning, ofte med ironi som krever tolkning («Terningkast fire», «80 % i vater», «FML»-serien på ellipse = skade-frustrasjon, ikke dysregulering).
| Populasjon | Kodede øktdager i −7..−1 | NEG_U/SICK | Rate |
|---|---|---|---|
| Før **infeksjon**-onsets (n=2 perioder, typet) | 5 | 0 | **0 %** |
| Før **stress**-onsets (n=4) | 12 | 1 | 8 % |
| Før **uavklart**-onsets (n=25) | 75 | 6 | 8 % |
| **Alle onset-vinduer** | **92** | **7** | **7,6 %** |
| Kontrolldager (utenfor ±14 d onset, −7..0 race, utenfor perioder) | 154 | 24 | **15,6 %** |
| Kontroll era-matchet (kun 2025–26) | 47 | 7 | 15 % |
Ukene før dysregulerings-onsets er språklig roligere enn hverdagen, ikke mørkere. Skoleeksempelet er den dyreste perioden i systemet: infeksjonen 30.3.26 kom med POS-tekst dagen før (Berlin HM-PB-en 29.3) og nøytrale økter hele uka før. Kroppen gikk fra «Melder sub 1:20 til Køben 💪» til seng på under 48 timer, med null språklig forvarsel. Det rimer med F7-mekanikken: infeksjonene slår til ETTER uttaket, gjennom det åpne vinduet — de annonserer seg ikke i treningsfølelsen før.
Eksplorativt tillegg (post-hoc, IKKE prekommittert, telles deretter): «fortsatt»-persistens — ≥2 NEG-økter innen 5 dager utenfor perioder — forekom 6 ganger; 1 av 6 ble fulgt av onset innen 7 d, mot 29 % base-rate for vilkårlige dager. Selv vedvarende tyngde-språk leder ikke.
Konklusjon spørsmål 1: ordene bekrefter ikke engang tallene — de er ortogonale, og ingen av delene gir språket lead-verdi.
T5 — sprekk vs rene (LOO T-14-residual som dagsfasit, F5/F6-kategorier som moduslabel):
| Utfallsklasse | Kodede pre-dager | NEG | POS |
|---|---|---|---|
| Sprekker (resid ≤ −3 %: THM-19, NY-23, Nidaros-25, London-25) | 8 | **0** | 2 |
| Midtsjikt (−3..0) | 22 | 1 | 4 |
| Gode dager (≥ 0) | 29 | **5 (17 %)** | 2 |
Katastrofene var språklig usynlige: London-25-vinduet er tre nøytrale økter («6 x 1000 med kone og kid på sykkel» t−6, ren struktur t−4, «Levere bok på biblioteket. 3 SL» t−2). Nidaros-25-vinduet likeså (17. mai-hilsen, 10x1000 @ 3:50, 3x1000 med konemor). Og hendelse-løpet Berlin-24 (GI) hadde et identisk nøytralt vindu — språket skiller ikke hendelse fra brudd før løpet, fordi det ikke skiller noe som helst før løpet (spørsmål 2 = besvart, negativt).
Spec-sitatet oppklart: «Ikke dagen i dag heller» sto IKKE der Nidaros-25-morgenen. Det er race-beskrivelsen selv, skrevet etter målgang, og «heller» peker bakover på løpsserien, ikke på dagene før: Nidaros-24 «Prøver igjen senere. 🤷♂️» → London-25 «On to the next!» → Nidaros-25 «Ikke dagen i dag heller». Det er en frustrasjons-tråd over tre skuffende løp — sporbar, menneskelig, og uten prediktiv verdi.
T6 — entusiasme før PB (spørsmål 3): POS-rate før PB-løp 19 % vs 0 % før ikke-PB — ser lovende ut helt til man ser på residualene: løpene med ≥1 POS-dag i vinduet snitter −1,06 % mot modellen; alle andre −0,93 % (−0,37 % uten London-outlieren). Flaggskip-eksemplet er NY-23: «Test av sko og fart. Har trua.🗽» (t−4) og «Meldt perfekt løpevær i morgen. Dette lover bra. 👌» (t−1) → −3,2 % mot modellen (pers på margin, men vinduets klart svakeste moderne maraton-dag). Motstykket avgjør saken: Barcelona-22-kvelden før: «På plass i Barcelona. Puls i taket, dette kommer til å gå dårlig. 🤷♂️» → +0,37 % og pers. Og gullkornet Kbh-24: uka før sub-3-gjennombruddet inneholdt BÅDE forkjølelses-etterslep (t−6), «Puls 10 slag over der den burde være 🫣» (t−4) OG optimisme (t−1) — kroppen leverte tidenes løp gjennom hele det språklige spekteret. Entusiasmen og uroen på forhånd er støy; entusiasmen på race-dagen er kvittering. Fordi pre-race-tekstene beviselig er skrevet FØR løpet, er dette ikke etterrasjonalisering i dataene — det er etterrasjonalisering i hukommelsen: mønsteret «jeg kjente det på meg» finnes ikke i det som faktisk ble skrevet.
De 14 dagene med eksplisitt sykdomsspråk (SICK + MIX-A4) mot detektor-fasiten:
T8 lukker samtidighets-spørsmålet: NEG_U-dagenes session_score (7,63, n=26) er identisk med NEU-dagenes (7,56, n=149; kutt-øktene 7,47). Ordene måler opplevelse, skåren måler eksekvering mot (nedjustert) plan — to forskjellige ting, og ingen av dem forutsier morgendagen. T7 (stillhet som signal) døde i era-kontrollen: rå 92 % vs 64 % tekstrate før onsets, era-matchet 95 % vs 96 % — ren artefakt av at Carl skriver mer nå enn i 2019.
Koder-bias: Jeg kjente deler av fasiten fra systemkonteksten (post-Berlin-infeksjonene, Nidaros-25, Berlin-PB) før kodingen. Blindingen fjernet dato/label, men tekstinnhold kan røpe kontekst («2 uker til Paris»), og enkelte grensedommer (NEG_E vs NEG_U, MIX) er skjønn. Leksikon-laget er deterministisk og upåvirket; hovedkonklusjonene tåler dessuten bias i BEGGE retninger fordi de er null-funn med motsatt fortegn av hypotesen. n-svakhet: 2 typede infeksjoner med til sammen 5 kodede pre-dager kan ikke utelukke et svakt infeksjonsspesifikt språksignal — men den ene godt observerte (mars-26) hadde positivt fortegn. Era-konfundering er behandlet eksplisitt (T7 snudd; T1-kontrollen era-matchet). Detektor-sirkularitet i T4 er flagget i §4. T8-seleksjon: avbrutte økter kan mangle skår; A6-subgruppen (n=8) endrer ikke bildet. daily_log dekker bare 13 dager i én (allerede syk) periode — spec-ens antagelse om en stor kvalitativ dagslogg holdt ikke; race-analysenes sitater er samme Strava-tekster som her. Ingen p-verdier er rapportert med vilje: n-ene er små, og alle effektretninger peker samme vei — mot null.
1. Anti-regel til COACH_INSTRUCTIONS-v2-forslaget (O9): «Subjektiv tyngde/uro i tekst siste uke før løp er IKKE beslutningsgrunnlag — historikken viser null prediktiv verdi (Barcelona-22, Kbh-24), og en språk-gate ville kostet PB-er.» Speiler K5-lærdommen for HRV på kortdistanse.
2. Brief-regelen spec-en ba om: morning brief skal IKKE tolke stemning i gårsdagens økt-tekst (null-funnet lukker spekulasjonen). Eneste språk-trigger som er verdt noe: eksplisitt A4-sykdomsord (forkjøl*/tett/hals/hoste/feber/🤧) i ny Strava-desc → én informasjonslinje i brief («sykdomsord logget i går — telles mot illness_days_14d hvis det vedvarer»), aldri en gate alene.
3. Til FABLE-15/OPUS-køen: lag `illness_language_log.json` (dato + sitat + A4-treff, manuelt godkjent) fra de 14 SICK-datoene i §6 som fasit-styrking for mild-infeksjoner; kryssjekk mot uavklart-re-typing.
Parallelløkt-notat: kun denne filen er skrevet; TODO/CHANGELOG/SYSTEM_OVERVIEW urørt; ingen sync/bygg kjørt; ingen skriv til data/. Prekommitterings- og kodefilene ligger i øktas scratchpad, gjengitt i sin helhet i §1.
Konsolidering: `Running_Report_SubjektivSignal_v1.md` — prekommittert + blindkodet test av 7 års økt-språk mot typet sykdomsfasit, HRV, session_score og LOO-residualer: språket LEDER ingenting (onsets 7,6 % NEG vs 15,6 % kontroll; sprekk-vinduer 0 NEG; «flyt før PB» motbevist med Barcelona/NY som kronvitner; «ikke dagen i dag heller» var post-race og pekte på løpsserien) — men eksplisitt sykdomsspråk fanger mild-infeksjoner detektoren ikke ser (11/14 utenfor perioder) → tre forslag: anti-regel i O9, A4-linje i morning brief, illness_language_log til FABLE-15.
Dato: 2026-07-07 · Skrevet av: Claude (Opus, OPUS-SPOR-D / D2 fra TODO) · Grunnlag: `activities.json` (2 441 løp m/ `gear_name/category/km_at_run` + `weather.temp_c` + HR) · `races.json` (skovalg per løp) · `race_predict_model.json` (LOO-residualer) · `data/static/shoe_log.json` (roller/cascade) · About_me + SYSTEM_OVERVIEW lest først.
Hva dette er: Gear ligger på hver aktivitet, aldri krysset. Fire spørsmål: (1) hva er Carls reelle supersko-effekt på temp-justert EF? (2) degraderer skummet målbart med km? (3) samvarierer race-residual med skovalg? (4) hvilket par til Energimila/Kbh/Amsterdam? Hovedfellen er era/temp-konfundering (F4a §5) — formen steg 2021→2026, så rå sko-sammenligninger på tvers av år måler fitness, ikke sko. Alt under er derfor innen-æra + temp-justert + HR-matchet.
Metode-noter: (1) EF = velocity/HR × 100 (F4a-definisjonen; rolig løp ~2,3–2,5). (2) Temp-justering: pace − 1,6 s/km per °C over 12° (F4a-kurven) → normaliserer bort varme. (3) `avg_pace_s` er tom for de fleste økter → pace regnet fra distanse/bevegelsestid. (4) Rolig-utvalg: ikke-race, ikke-intervall, utendørs, HR 120–150, pace 4:10–6:00, ≥6 km → n=993. (5) Skoklasser: TRAINER (uplatet: Pegasus 34/37, Novablast, Clifton) · PLATED_TEMPO (Tempo Next%, Magic Speed, Zoom Fly 3/5/6) · RACE_SUPER (karbon+superskum: Alphafly-, Vaporfly-, Adios Pro-, Endorphin Pro-, PUMA Fast-R-, Metaspeed-, Takumi-, Streakfly-, Cielo-familiene). (6) Navn med dobbelt merkeprefiks (2026-reimport: «Nike Nike Alphafly…») normalisert.
| Klasse | n | Temp-just EF (median) | vs RACE_SUPER, HR+æra+temp-matchet |
|---|---|---|---|
| TRAINER | 34 | 2,127 | **+10,7 s/km tregere** (median, n=20 matcher) |
| PLATED_TEMPO | 238 | 2,296 | +7,3 s/km tregere (n=214) |
| RACE_SUPER | 721 | 2,398 | — (referanse) |
Innen-æra (median EF, n) — den ærlige kontrollen:
| År | TRAINER | PLATED_TEMPO | RACE_SUPER | Sko-gap super−trener |
|---|---|---|---|---|
| 2021 | 2,127 (26) | 2,212 (23) | 2,263 (18) | **+0,136 (~6 %)** |
| 2022 | 2,010 (4) | 2,246 (52) | 2,268 (57) | +0,26 (tynn trener-n) |
| 2023 | 2,177 (4) | 2,285 (57) | 2,323 (119) | +0,146 |
| 2024 | — | 2,220 (30) | 2,404 (212) | (ingen trener) |
| 2025 | — | 2,452 (45) | 2,474 (210) | — |
| 2026 | — | 2,452 (31) | 2,494 (105) | — |
Stigen er monoton hvert eneste år: trener < platet tempo < race-super. Det er ekte og entydig i retning. Størrelsen er derimot en overkant-grense, ikke et presist tall — se §2.
Innen-æra og HR-matchet løper race-super ~10–14 s/km raskere enn trener på rolig puls (median +10,7, snitt +14,1 s/km ≈ 3,6–4,8 % ved 4:55-pace), og innen 2021 alene er EF-gapet +0,136 (~6 %). Platet tempo ligger midt imellom (+7,3 s/km).
Men to konfundere blåser tallet opp:
1. Recovery-dag-seleksjon. Carl tar trenerne (Pegasus) på de mest slitne restitusjonsdagene → høyere HR på gitt pace → lavere EF som tilskrives skoen. Skovalget korrelerer med øktens formål.
2. Trener-æraen er tidlig. 30 av 34 trener-økter er 2021–23; ingen etter 2023 (Pegasus 37 gikk ut av rotasjon). Lav-fitness-år trekker trener-EF ned uavhengig av sko.
Ærlig dom: supersko-effekten er reell og i tråd med litteraturens 2–4 % — trolig i øvre del for Carl, men de rå 3,6–6 %-tallene her er inflatert av (1)+(2) og skal ikke leses som «supersko gir Carl 5 %». Retningen (super > platet > trener) er robust; den operative konsekvensen er triviell (Carl racer alltid i supersko), men den bekrefter at rolig-trening i trener er «gratis» EF-tap på ~2–4 % — greit for restitusjon, feil for kvalitet der farten teller.
Testet på de fire høy-km Alphafly-parene (temp-just EF vs `gear_km_at_run`, HR 120–150):
| Par | n | km-spenn | EF tidlig | EF sein | Δ | Slope |
|---|---|---|---|---|---|---|
| AlphaFly Turquoise #2 | 192 | 0–2 296 | 2,347 | 2,427 | **+0,080** | +0,007/100km |
| Alphafly Yellow #3 | 102 | 0–1 524 | 2,407 | 2,483 | +0,076 | +0,006/100km |
| ALPHAFLY NEXT% | 77 | 0–1 328 | 2,281 | 2,311 | +0,030 | −0,002/100km |
| Alphafly Purple #4 | 80 | 0–1 306 | 2,432 | 2,511 | +0,079 | +0,010/100km |
EF faller ALDRI med km — den stiger svakt. Grunnen er ren konfundering: km akkumuleres over tid, og formen steg i samme tid, så «sene» km-er er også senere-æra (fitter). Fitness-driften overdøver enhver skum-degradering fullstendig. Dette er nøyaktig fellen specen advarte mot.
Konsekvens: rolig-EF kan ikke måle skum-degradering på Carls data — signalet (litteraturens ~2–5 % tap etter 250 km) bor i topp-fart/race-økonomi, ikke i rolig løp på HR 130, og drukner uansett i æra-driften. Cascade-strategien (race→kvalitet→easy) er dermed validert fra motsatt kant: gamle supersko beholder rolig-EF helt opp til 2 300 km (Turquoise #2), så de er trygge easy-sko lenge. Race-km-taket (≤100 km) er et føre-var-valg, ikke et data-tvunget ett — se §4.
Alle 2021→2026-løp er løpt i platede race-sko (Alphafly/Vaporfly/Adios Pro/Endorphin/PUMA/Metaspeed) — null varians i «super vs trener»-dimensjonen på race, så spørsmålet kan ikke besvares direkte. 2019–20-løpene mangler gear-logg.
Men race-km-dimensjonen er lærerik: residual korrelerer ikke med skoens km-stand:
Dom: race-dataene aktivt mislykkes i å vise en slitasje-straff opp til 361 km. Det mykner km-taket: 100 km er konservativt fornuftig (foam-topp bor i sprett, ikke EF), men Carl har racet PB-er på 278 km og 82 km uten synlig kost. Fersk race-sko er lav-risiko-valget, ikke et bevist krav.
PB-plattformene (til rotasjon under): maraton-PB Frankfurt = PUMA Fast-R; HM-PB Berlin = PUMA Fast-R; forrige HM-PB Trondheim-25 = Vaporfly 4 (13 km); 10k-PB EnergiMila = Alphafly #5; Sommernatt-PB = Adios Pro 4 #2. Alphafly og PUMA Fast-R er de dokumenterte race-plattformene.
Fra shoe_log-roller + PB-historikk + km-status. Prinsipp: A-løp i fersk (<100 km) plattform Carl har racet før; bed inn 2–3 økter først (fit-sjekk); unngå kjente gnagsår-sko på lange løp.
| Løp | Anbefalt | Backup | Begrunnelse |
|---|---|---|---|
| **Energimila 10k** (12.8) | **Nike Streakfly 2** (5–10k-spesialist, karbon, ~200 g) | Vaporfly 4 (fersk, 98 km) | Streakfly er designet for 10k-racing, men kun 12 km logget og max ~12 km stack → **bed inn nå: 2 harde drag-økter før 12.8 for å bekrefte passform**. Ellers Vaporfly 4 (Trondheim-HM-25-PB-plattform). |
| **København HM** (20.9) | **PUMA Fast-R Nitro Elite 3 (NY)** — planlagt kjøp | Vaporfly 4 / Alphafly 3 (lager) | HM-PB-plattformen (Berlin). Dagens PUMA er 104 km (over race-taket, nedgradert) → kjøp NY-paret nå og legg 2–3 rolige + én tempo på det innen 20.9. |
| **Amsterdam Maraton** (18.10) | **Nike Alphafly 3 (lager)** — ubrukt reserve | fersk PUMA Fast-R (NY) etter Kbh | Maraton = mest skum-avhengige distanse; Alphafly er Carls maraton-plattform. Reserven er 0 km → **inn med 3–4 rolige + én MP-langtur i septemberblokka** så den er innkjørt (ikke race på 0 km-sko blindt). |
Kjøps-/innkjøringsplan: kjøp de to nye race-parene (PUMA Fast-R NY + evt. et Alphafly-par) innen u30–32 så begge får 30–60 innkjøringskm før sine løp. Unngå Metaspeed Sky (tåboks-gnagsår), Cielo X1 og Prime X (gnagsår >10 km) på alt annet enn korte drag. `Nike Alphafly #5 Yellow` er nå fast langtur-kvalitets-sko (ikke race) — ikke ta den tilbake til race uten grunn.
Supersko-effekten (§2) er retnings-sikker men størrelse-usikker: n_trener=34 (mest 2021), recovery-dag-seleksjon og æra-drift blåser opp de rå 3,6–6 % — den ærlige lesningen er «2–4 %, litteratur-konsistent, øvre halvdel». Mileage-degraderingen (§3) er et metode-null, ikke et fysiologisk null: æra-konfunderingen gjør rolig-EF ubrukelig til formålet, så «ingen degradering funnet» betyr «ikke målbart her», ikke «foam degraderer ikke». Race-residual-vs-sko (§4) kan ikke besvares (alle race i supersko) — slitasje-observasjonen (ingen straff til 361 km) er n=2 godt brukte race-sko og bør ikke overtolkes. Rotasjonsrådene (§5) hviler på shoe_log-roller + n=1–2 PB-plattform per distanse, ikke på kausal sko-testing. Temp-justeringen (1,6 s/km/°C) er F4a-kurvens snitt — de fleste Trondheim-rolige er <12° så justeringen er liten uansett. gear_km_at_run forutsetter korrekt logget skobytte; feil der forskyver mileage-punktene. Den ene tingen som står helt trygt: Carl racer allerede optimalt (fersk supersko), og gamle supersko er trygge easy-sko — resten er finjustering, ikke feilretting.
Parallelløkt-notat (SPOR D): kun denne fila skrevet i D2-steget; TODO/CHANGELOG/SYSTEM_OVERVIEW/quality.json urørt; ingen sync/bygg/git; ingen skriv til data/.
Konsolidering: `Running_Report_Skoeffekten_v1.md` (O10/D2) — supersko vs trener på temp-just EF innen-æra: monoton stige (trener 2,13 < platet 2,30 < super 2,40), race-super ~10–14 s/km raskere på matchet HR = 2–4 % (øvre grense, recovery-dag- og æra-konfundert). Mileage-degradering = metode-null (æra-drift spiser signalet; EF stiger svakt til 2 300 km) → cascade-strategien validert, race-km-tak er føre-var ikke data-tvunget (PB-er på 278/82 km uten straff). Race-residual-vs-sko utestbart (alt i supersko). Rotasjon: Energimila→Streakfly 2 (bed inn), Kbh→ny PUMA Fast-R, Amsterdam→Alphafly 3-reserve — kjøp+innkjør u30–32.
Dato: 2026-07-07 · Fable (FABLE-23) · erstatter v1. Grunnlag: `blodprover.json` (84 analytter, lengste serier ferritin n=24, Hb n=23, D-vit n=13), `carl.json` helse-konstanter + supplement-protokoll, `activities.json` (årsvolum), FABLE-15 (CRP-punktet). Endret fra v1: infeksjonsvinkelen tatt ut; måles mot dine egne mål, ikke lab-gulvet; rammet rundt supplement-protokollen fra 28.04 og retesten 21.07.
Forbehold: mønsteranalyse, n er liten på jern- og hormonpanelet, og ferritin/CRP er akutt-fase-reaktanter som forstyrres rundt infeksjonene (20.04.2025, 20.04.2026). Medisinske vurderinger er dine — jeg rører dem ikke.
Siste fulle panel ble tatt 8 dager før du startet jern + D3 + omega-3 (28.04). Det er altså «før»-bildet, og 21.07 er første måling som viser respons. Mot dine egne mål fra carl.json:
| Markør | Ditt mål | 20.04.2026 | Nylig bane | Mot mål |
|---|---|---|---|---|
| Ferritin | optimal 100, aspir. 150 | 61 | 104 (jan-24) → 53 → 71 → 61 | Under optimal siden midt-2024 |
| Hb | optimal 14,5 | 13,5 | 12,8–13,5, MCV 91–99 | Ved kronisk-lav (13,5), normocytisk |
| Vit D | optimal 75 | (49, apr-25) | aldri > 60, alltid < 75 | Under mål hver måling |
| B12 | bekymring < 250 | 235 (nov-24) | 424→266→266→235 fallende | Under din 250-grense, synkende |
| SHBG / fri-T-indeks | SHBG-terskel 50 | 68 / 3,2 | 66–71 / 2,7–3,8 | SHBG over, fri-T i nedre kvartil |
Organpanelene er rene og trenger ingen oppfølging: kreatinin 73–81 med eGFR 104–109, CK 67, ALAT 22, LD 176, NT-proBNP < 35, TSH stabil på 22 målinger, morgenkortisol 382 og fritt T3 5,6 den 20.04 (ingen holdepunkt for lavenergitilgjengelighet der og da).
Ferritin. Steg gjennom volumoppbyggingen til 104 (jan-24), faller nå i andre år på ~4 400 km — 53 (jan-26) er laveste siden 2021. Korrelasjonen mot trailing-12-mnd-km er svak (r=0,13) fordi banen topper på midten, men retningen de siste to årene er ned mens volumet står i tak. Du har ligget under ditt eget 100-mål siden midt-2024. Transferrinmetning 25→20 og sTfR 1,44→1,10 (jan-24→jun-25) peker samme vei, alt innen referanse. Feraccru fra 28.04 treffer altså et reelt fall, ikke en innbilt lav verdi.
Hb. Ligger på din kronisk-lav-linje (12,8–13,5), normocytisk, med adekvat ferritin. Det skiller ikke seg selv mellom plasmavolum-fortynning og tidlig jernbegrensning — retikulocytter/retikulocytt-Hb ville gjort det, og mangler i serien. Verdt å legge på 21.07-panelet (§4).
Vitamin D. Sesongstyrt, med vinter/vår-bunn (feb 41, apr 43–49, des 46) og høst-topp (sep 57, okt 60). Aldri målt over 60, alltid under ditt 75-mål. Siste verdi 49 (apr-25), så et 15-måneders hull inn mot vinteroppkjøringen. Benferol-loadingen + D3-vedlikehold fra 28.04 er den ene protokoll-delen som mest sannsynlig gir tydelig utslag 21.07.
B12. 424 (feb-23) → 266 → 235 (nov-24), under din 250-grense og fallende. Allerede notert i carl.json, med sublingual B12 «vurderes ved juli-prøvene». Aktivt-B12 (105,6) ligger fremdeles greit, så den fallende total-B12 er mer en trend å følge enn noe akutt.
SHBG / fri-testosteron. SHBG 66–71 (over 60), total-T normal (19–27), fri-T-indeks i nedre kvartil (2,7–3,8). Kjent høylast-mønster. Ikke noe å gjøre med nå — en restitusjonsmarkør å holde øye med hvis fri-T-indeksen fortsetter ned mot 2,3.
Dette er det ene lab-poenget verdt å ta med videre. Den 20.04.2026, midt i den påviste infeksjonen (onset 06.04, 15 dagers hale), var CRP < 1 og totalt leukocyttall 5,9 — begge så «friske» ut. Differensialen gjorde ikke det:
| 20.04.2026 | Verdi | Ref |
|---|---|---|
| Nøytrofile | 1,9 | 1,5–7,3 |
| Lymfocytter | 3,4 | 1,1–3,3 (over) |
| N:L-ratio | 0,56 | — |
Poenget er lab-tolkning: CRP er en upålitelig infeksjonsmarkør for deg — differensialen (særlig N:L) fanger det bedre. Neste gang noe skal objektiveres, be om «leukocytter m/diff», ikke CRP. n=1 på differensialen (den andre i basen er fra 2010), så dette er en billig test-hypotese, ikke et etablert funn.
Samme akse bakover: flu-B PCR+ 28.03.2025 forklarer London-kollapsen 27.04.2025 — den eneste rene biomarkør↔race-koblingen i materialet.
Den planlagte retesten (Hb, ferritin, D, B12, Hct, transferrinmetning) leses som respons på 28.04-protokollen. «Bra» mot dine mål: ferritin på vei mot 100, D klart over 50 og mot 75, Hb over 13,5. Ferritin er akutt-fase-forstyrret, så les den mot at du forhåpentlig er infeksjonsfri i juli — da er tallet renere enn apr-verdiene.
Tre ting jeg ville lagt til på samme prøve:
1. Retikulocytter (+ retikulocytt-Hb). Det ene som faktisk avgjør pseudoanemi vs. jernbegrensning for Hb-en din. Uten den blir Hb-tolkningen stående åpen uansett hvor mange ganger du måler.
2. sTfR ved siden av ferritin — mindre infeksjonsfølsom, nyttig når ferritin er forstyrret.
3. Leukocytter m/diff som frisk baseline. Har du én differensial tatt i frisk tilstand, blir en senere infeksjons-differensial (§3) mye lettere å lese.
Jern-absorpsjonen fra Feraccru sjekkes indirekte av ferritin-responsen 21.07; ingen egen test for det.
| Markør | Kadens | Flagg ved | Hvorfor |
|---|---|---|---|
| Ferritin + jernstatus | 21.07, så hver 3.–4. mnd i høyvolum | fortsatt fall, eller metning < 20 % | §2 — trend ned under toppvolum |
| Hb + MCV + retikulocytter | med jernstatus | Hb < 13,0 med fallende MCV | §2 — åpent pseudoanemi-spørsmål |
| Vit D | 2×/år, én sensommer én senvinter | under 50 i bunn-målingen | §2 — sesongbunn treffer vinterblokka |
| B12 (+ aktivt) | halvårlig | total < 250 fallende, aktivt lavt | §2 — synkende |
| Leukocytter m/diff | ad hoc ved mistenkt infeksjon | N:L < 1 med lymfocytose | §3 — CRP er blind for deg |
| SHBG / fri-T-indeks | halvårlig | fri-T-indeks under 2,3 | §2 — last-markør |
Organpaneler rene (A). D-vit under mål + 15-mnd hull (A). Ferritin faller under toppvolum, trend ikke deplesjon (B — akutt-fase-forbehold). Hb-mønster mot pseudoanemi (B/C — mangler retikulocytter). Differensial fanger infeksjon der CRP svikter (B — mekanistisk klart, n=1). SHBG/fri-T høylast-mønster (C — n=5).
Én linje for konsolideringen: organpanelene er rene; de reelle punktene er ferritin under ditt 100-mål og fallende under toppvolum, Hb på kronisk-lav-linja (pseudoanemi vs. jernbegrenset uavklart uten retikulocytter), og D-vit alltid under 75 med et 15-mnd hull — alle tre allerede under behandling siden 28.04, med 21.07 som respons-sjekk. Lab-tips: CRP er blind for infeksjon hos deg; differensialen (N:L 0,56 midt i Berlin-infeksjonen) fanget det. B12 235 fallende. Ingen data-skriv; blodprover.json urørt.
Dato: 2026-07-06 · Skrevet av: Claude (Fable, FABLE-8 fra TODO) · Status: FORSLAG til spikring — folder alle Fable-vinduets funn inn i én plan. `training_plan_daily.json` er IKKE rørt — dagene spikres med Carl i dialog etter at v3 er lest (PLAN_STRUKTUR-regelen). Konkrete dag-endringer som trengs står samlet i §7.
Erstatter: v2 (03.07) som gjeldende blokkplan-dokument. v2s beslutningsgrunnlag (§1–2 der) og v1s teorikapitler gjelder fortsatt.
Mål: Energimila 10 km ons 12.8 (sub-37 · strek 36:57) · København HM søn 20.9 (sub-1:20) · Amsterdam maraton søn 18.10 (sub-2:50)
Modell i dag (06.07): Energimila 35:52 → P(sub-37) 75 % · Kbh 1:19:22 → P(sub-1:20) 57 % · Amsterdam 2:47:56 → P(sub-2:50) 61 %
Akseptert avhengighet: S1 (LT2-løft 2–3 s/km, konfidens B+) tas som gitt; FABLE-9 skjerper dose→respons-tallet parallelt → åpen kalibrering, se §7.
| Kilde | Det som hentes inn |
|---|---|
| `Running_Brief_Blokkplan-Amsterdam_v2.md` | Basis: faser, volumtak 108–110, langtur-trapp, immunvakt, dobbel terskel, styrkeregler |
| Tverrmaraton-syntesen §5–6 | P1–P10-kravene, **P4-taper-porten u40–41**, MP-mål 120–150, R1–R8-realisering |
| FABLE-4 §7 (varme) | u28–29-dosering, **T2.5-anker 19.7**, mulig utladningsvindu u30 → tidlig terskeløkt HVIS RHR 36–37 hjemme |
| FABLE-5 §5/§6/§7 (kortdistanse) | **u32 = INGEN taper** før Energimila · **u38 = ekte taper** før Kbh · u39 immunvakt-planlagt · RE1–RE7 · S1–S5 + go/no-go-skjema |
| FABLE-6 §3 (pacing-DNA) | Fase-formet Amsterdam-plan m/ tre in-race-gates (km 5/25/35), GI-protokoll, vindsone-regel — race-uke-gates inn i race-ukene |
| FABLE-7 §3 (absorpsjon) | **30k+ = 2–3-dagers enhet** (avstander rundt L4-turene sjekket → to funn, §2/E7) · race = 4–5-dagers enhet · RHR-blindsone · krateret er godartet |
Tall-fasit for «dagens plan» er `training_plan_daily.json` (dagene er sannheten). Merk: daily-fila er revidert etter v2-prosaen — ferieukene står i 100 km (ikke 67–75) og u40 i 100 (ikke 92). v3 bruker daily-fila som fasit og retter ikke v2-teksten bakover.
| # | Endring | Kilde | Hvorfor |
|---|---|---|---|
| E1 | **Mini-taperen før Energimila skrotes.** u32: 71 → ~95 km, normal treningsuke; kun lett dag-før (tir 11.8). Siste fulle terskel senest **fre 7.8** (T−5); langtur lør 8.8 kuttes ikke, men holdes ≤28 km og rolig. | FABLE-5 K3/RE3/RE4/§7 | Taper er distanse-asymmetrisk: alle 10k-PB-ene kom på full treningsuke (EnergiMila-25: PB på TSB −6,2 og 101,5 km siste 7 døgn). Full taper koster HM/M-bygget uten å gi noe på 10k. |
| E2 | **u38 bekreftes som EKTE taper — nå med Berlin-malen som eksplisitt fasit:** TSB-pre mot +20…+25, ATL/CTL-fall ~5:1, søvn ≥8 t race-eve. | FABLE-5 K3/S3 | HM-PB-ene kom alle på ekte taper (+17…+25…+36). S3 er 0,5–1 s/km «gratis» fart — hvis den gjentas. |
| E3 | **u39 = immunvakt-planlagt, null kvalitet — nå med forventningsanker:** HRV −30…−45 % man 21.9 er A5-krateret (godartet kvittering, ikke sykdom); full autonom klarering 4–5 d; 72 t immunvakt er GULVET. | FABLE-5 §6 · FABLE-7 A3/A5 | Berlin-HM-kvitteringen: severe infeksjon dagen etter løpet. Kbh er både A-mål og Amsterdam-anker — ingen av rollene tåler en repetisjon. |
| E4 | **P4-porten formaliseres i u40–41** (måles på 36-km-turen 3.10 og generalprøven 10.10; strengt P4-krav: de to siste 30k+ = 34 km u35 + 36 km u40). Rød port → Amsterdam-pacing justeres mot 2:52-scenario — **treningen forseres aldri.** | Tverrmaraton P4/§6 | Eneste KPI som skiller NY-23 fra alle sub-3-blokkene. NY-leksen omsatt til regel. |
| E5 | **Race-uke-gates inn i alle tre race-ukene** (§5): Energimila RE1–RE7 · Kbh go/no-go-skjema + S2-reserve · Amsterdam fase-plan m/ gates km 5/25/35, GI-protokoll og vindsone-regel. Erstatter v2 §5s lineære pacing-linjer («Amsterdam 4:03 første 5 km, alt fra 35» utgår). | FABLE-6 §3 · FABLE-5 §5/§6 | All maraton-tid lekker i km 35–40 og kollapsen er binær — fasen og gatene priser det ned. London var synlig fra km 2; gaten fantes ikke da. |
| E6 | **MP-km-målet heves: 80+ (gulv) → sikt 120–150.** Dagens plan har ~75–80 eksplisitte MP-km → påplussing i §7. Hard betingelse: MP-km × P4-utførelse, aldri MP-km alene. | Tverrmaraton P5/§6 | Sub-3-laget: 80–178 MP-km. NY-motbeviset: 171 MP-km dårlig utført → −3,2 %. |
| E7 | **Avstandsregel etter 30k+:** ≥2 rolige dager før neste harde stimulus. Konsekvens: **u41-TOSK flyttes man 5.10 → tir 6.10** (u40 har alt gjort dette). Man-TOSKene u35/u36 (D+2 etter 32/34 km) står, men får eksplisitt HRV-gate + B1b-flagget som vakt. | FABLE-7 A2/§3 | 30k+ er en 2–3-dagers enhet (61 % bruker ≥2 d på HRV-retur). M-spissingen får den strenge regelen; HM-byggets ukestruktur beholdes per FABLE-7s egen anbefaling. |
| E8 | **HRV/søvn-styringen oppdatert (G1 utført):** søvn <78 alene er IKKE abort (<74 = myk obs); abort = søvn <75 OG HRV <60, eller HRV <55 alene. Rød HRV før dobbel UTEN race/30k+/sykdom i forkant = livsstress → avgjør på følelse, ikke auto-kutt. | FABLE-4b · FABLE-7 A1 | «<78 aldri vellykket» er motbevist (19/38 lav-uker nådde ≥8); kvalitet er autonomt ~gratis — gaten vokter akkumulert dysregulering, ikke gårsdagens terskel. |
| E9 | **T2.5-porten (19.7) styrer u30-aggressivitet:** RHR 36–37 vedvarende hjemme → utnytt utladningsvinduet (17.–27.7) med tidlig full terskeløkt; RHR 40+ → u30 = ren gjenoppbygging. Blokkstrukturen endres ikke av porten. | FABLE-4a §6–7 | Italia ga partiell adaptasjon (B−); plasmavolum-gevinst decay-er over 7–14 d — vinduet er nå-eller-aldri. |
| E10 | **Wellness-lesning gjennom hele blokka:** absorpsjon leses på HRV + Body Battery — **aldri friskmeld på RHR alene** (non-responder). Varme (u28–31): +~½ dag forventet klarering, ikke overkutt. 30k+ som koster >3 HRV-dager = dårlig absorbert (B1b-flagg, G8). | FABLE-7 A4/A6/§3 | RHR beveger seg ≤1 slag selv etter maraton — RHR-basert friskmelding er systematisk for tidlig. |
Verktøystøtte som lander i kveld (OPUS-IMPL-1, parallelt): G2 distanse-avhengig HRV-flaggtekst · G3 fase-profil + gate-rader i pacing-armbåndene · G4 race-decoupling-metrikk · G5 krater-demping i dysregulerings-gaten · G8 B1b-flagg · OPPSKRIFT-2 (P4-port, MP-mål 120–150 og Energimila-streken på Mål-fanen).
Volum = dagens daily-fil; fete avvik = v3-endring som skal inn ved dag-spikringen. Langtur-trappa (30k+, P3-tellende): 30 (u29) · 30 (u31) · 32 (u34) · 34 (u35) · 36 (u40) = 5 stk — minimum av P3; antallet er vernet, utførelsen hellig.
| Uke | Datoer | km | Innhold + regler |
|---|---|---|---|
| 28 | 6.–12.7 | 100 | Italia, Bolzano-lavland — Seefeld-høyden er bak, resten er ren varme (adaptasjonen kan bygge litt til). Puls <138 på alt rolig, kvalitet kun morgen/skygge, ingen ny hard stressor. Langtur søn 28 = ukas viktigste økt, fylling 80 g/t (første datapunkter til `fueling_log`). Aksepter høyere decoupling i varmen som normalt. |
| 29 | 13.–19.7 | 100 | Hjemreise tor 16.7 (to rolige dager). Langtur lør 18.7 **30 km** hjemme i normaltemp (trapp 1/5). **Søn 19.7 = T2.5-PORTEN** (§4.1): HRV-baseline ≥58 · RHR-7d 37–39 · pace@128. |
| 30 | 20.–26.7 | 100 | Re-intro bane + gym — én stressor av gangen. Man TOSK re-intro (kontrollert, laktat ≤3,3) ligger D+2 etter 30-km-turen → HRV-gate på morgenen. **T2.5-utfallet styrer:** adaptasjon banket → tidlig full terskel i utladningsvinduet (17.–27.7); ellers gjenoppbygging som planlagt. Langtur 28 rolig. |
| 31 | 27.7–2.8 | 105 | Byggetopp: man TOSK · **ons første DOBBEL TERSKEL** (AM LT1 6 km · PM 10×1000 @ 3:50–3:53) m/ HRV-gate etter E8-reglene · lør **30 km L3 progressiv** (trapp 2/5). |
| 32 | 3.–9.8 | **71 → ~95 (E1)** | **Normal uke — ingen mini-taper.** Man TOSK 10k-spiss (6×1000 @ 3:45–3:48) · **siste fulle terskel senest fre 7.8 (RE4)** · fart-uten-syre (400/strides) beholdes i uka · langtur lør 8.8 **26–28 rolig** (ikke 30+ — 2–3-dagershalen skal ikke inn i race-vinduet). Detaljert dagfordeling spikres med Carl (§7.1). |
| 33 | 10.–16.8 | 74 | **RACE-UKE.** Man easy + strides · tir primer 3×1000 @ 3:50 (full pause) — lett dag-før holder · **ons 12.8 🏁 ENERGIMILA** (kjøreplan §5.1, streken §4.2) · tor–lør immunvakt (72 t = gulv) · lør langtur 22 kun I1 · kvalitet-retur tidligst dag 4–5 (søn/man). Forvent HRV-dip i −17 %-klassen D+1 — godartet (A5). |
| 34 | 17.–23.8 | 104 | HM-bygg: man TOSK 4×2000 @ 3:50 (D+5 etter race ✓) · ons DOBBEL · lør **L4 32 km** m/ 3×5 @ MP (**forslag: 3×6**, E6/§7.3) — race-fylling 85 g/t (trapp 3/5). |
| 35 | 24.–30.8 | 108 | **SESONGTOPP.** Man TOSK m/ **eksplisitt HRV-gate** (D+2 etter 32-km-turen, E7) · ons DOBBEL · lør **L4 34 km** m/ 12 km sammenhengende MP (**forslag: 14–15**, §7.3) — full race-fylling (trapp 4/5). |
| 36 | 31.8–6.9 | 100 | Down-uke: man TOSK m/ HRV-gate (D+2 etter 34-km-turen) · lør 28 m/ siste 6 @ HMP 3:50 — K6-speilet mot Kbh begynner å måles her (dragsnitt-mål sein blokk **3:43–3:45**; FABLE-9 kalibrerer, §7.5). |
| 37 | 7.–13.9 | 72 | Kbh-taper del 1: man TOSK skarp/kort (5×1000 @ 3:45) · lør 20 m/ 5 @ HMP 3:47–3:50 — generalprøve racesko + fylling. |
| 38 | 14.–20.9 | 60 | **EKTE TAPER (E2, Berlin-malen):** TSB-pre mot +20…+25, ATL/CTL-fall ~5:1, søvn ≥8 t race-eve. Tir primer 4×1000 @ 3:50 · **søn 20.9 🏁 KØBENHAVN HM** (kjøreplan §5.2, go/no-go §4.3). |
| 39 | 21.–27.9 | 75 | **IMMUNVAKT-UKE — null kvalitet (planlagt).** HRV-krater −30…−45 % man 21.9 er forventet og godartet (G5-dempingen aktiv). Lør 22 L1 (kun I1). Full autonom klarering dag 4–5; første kvalitet først u40. |
| 40 | 28.9–4.10 | 100 | Storuke: tir TOSK MP-terskel 5×2000 @ 3:55–3:58 (allerede flyttet fra man ✓) · **lør 3.10: 36 km L4 m/ 3×6 @ MP 4:00–4:03 (T−15)** — generalprøve m/ full race-ernæring 85–90 g/t + racesko (trapp 5/5). **P4-PORT, måling 1 (§4.4).** ≥2 rolige dager etter (søn + man). |
| 41 | 5.–11.10 | 90 | MP-rytme: **TOSK flyttes man 5.10 → tir 6.10 (E7)** · lett-TOSK ons/tor · **lør 10.10: 26 km m/ 12 @ MP 4:01 (T−8)** — siste MP-generalprøve. **P4-PORT, måling 2.** Siste lette styrke. |
| 42 | 12.–18.10 | 74 | Taper: tir MP-primer 4×1000 @ 4:00 · TSB-mål +30…+40 m/ CTL-tap ≤8 (P9) · HRV-CV fallende (taper-cockpit) · **søn 18.10 🏁 AMSTERDAM** — fase-plan m/ gates (§5.3). |
| KPI | v3-krav | Status i planen |
|---|---|---|
| P1 volum | ≥85 km/u snitt i bygget | Plan-snitt u30–41 ≈ 90 ✓ (peak 108, bevisst under Frankfurt-dosen — P8-trade) |
| P2 CTL | 106–115 peak | Følges live |
| P3 langturer 30k+ | ≥5 | Eksakt 5 → **antallet er fredet; ingen av dem ofres uten erstatning** |
| **P4 utførelse** | Av de to siste 30k+ før taper (34 u35 · 36 u40): **minst én m/ decoupling ≤1 % OG score ≥8** | Porten står i u40–41 (§4.4) |
| P5 MP-km | **120–150** (gulv 80) — alltid MP × utførelse, aldri MP alene | Plan i dag ~75–80 eksplisitt → §7.3 |
| P6 kvalitets-km | 21–25 km/u, terskel-forankret | Dragsnitt-mål sein blokk 3:43–3:45 (K6; FABLE-9 skjerper) |
| P7 øktscore | ≥7,5 snitt | Følges live |
| P8 sykdom | ≤2 sykedager siste 6 u · **2 HRV-svake morgener på rad = PM-økta ryker, aldri søvn/langtur** | Immunvakt u33/u39 planlagt |
| P9 taper | TSB +30…+40 m/ CTL-tap ≤8 · HRV-CV fallende | u38 (HM-variant +20…+25) og u42 |
| P10 tune-ups | Energimila T−9,5 u + Kbh T−4 u (near-anker) · postM-fritt ✓ | ✓ |
Wellness-lesning hele blokka (E10): absorpsjon = HRV + Body Battery, aldri RHR alene (A4 non-responder) · kvalitet er autonomt ~gratis, 30k+ = 2–3 d, race = 4–5 d (A1–A3) · varme +½ d (A6) · post-race-krater er kvittering, ikke varsel (A5) · 30k+ m/ >3 HRV-dager → B1b-flagg (dårlig absorbert).
4.1 T2.5-porten — søn 19.7. Readout: HRV-baseline ≥58 · RHR-7d 37–39 · én pace@128 i normaltemperatur mot juni-baseline (temp-just. EF ~2,54). RHR 36–37 vedvarende første uke hjemme = adaptasjon banket → tidlig full terskeløkt i u30 (utladningsvinduet 17.–27.7). RHR 40+ / pace@128 under baseline → u29–30 behandles som ren gjenoppbygging. Porten endrer aggressivitet i u30, aldri blokkstrukturen.
4.2 Energimila-streken — ons 12.8. 36:57 = eksakt Riegel-1,06 mot 2:49:59 (36:5x kvitterer altså Amsterdam-planen). Sub-1:20-broen: ren Riegel ≤36:15, Carl-ratioen (1,041) ≤36:46 → 36:4x kvitterer i praksis begge strekene. Modellen venter 35:52 — løpet skal bekrefte form, ikke skape den. Ett enkelt miss (37:0x–37:2x) på dårlig dag/vær er ikke alarm — Kbh T−4 er near-ankeret som overstyrer; systematisk miss på begge tune-ups → Amsterdam re-forhandles mot 2:52-scenariet.
4.3 Kbh go/no-go — race-uka u38. (a) Skjema fra Energimila: 36:4x → åpne på 3:47-skjema · 37:0x+ → åpne 3:49 og hent S2-reserven (I4 tillatt) fra km 15–16. (b) Race-eve: infeksjon siste 14 d = nedjuster mål / nedre CI; HRV-flagg alene = infolinje, ikke måljustering (K5/G2 — 2 av 3 kortdistanse-flagg sto foran PB-er). (c) Ekte no-go kun ved infeksjon (P8/immunvakt-logikken). HM-en bærer to roller (A-mål + Amsterdam-anker) — begge overlever en forsiktig åpning, ingen overlever å jage en syk dag.
4.4 P4-porten — u40–41 (taper-inngangen). Måles på 36-km-turen (3.10) og generalprøven 26 m/ 12 MP (10.10); det strenge P4-kravet gjelder de to siste 30k+ (34 km u35 + 36 km u40): minst én med decoupling ≤1 % OG score ≥8. Grønn → 2:50-planen står. Rød → Amsterdam-pacingen justeres mot 2:52-scenariet (nedre CI) — treningen forseres aldri. (NY-23-leksen: 171 MP-km hjalp ikke når utførelsen sviktet.)
4.5 In-race-gates Amsterdam (D5/D6/D4): km 5: HR ≥170 vedvarende på planfart = London-gate → nedre-CI-plan (≈2:53) senest km 8 · km 25: HR ≥172 = Kbh-mønster → dropp negativ splitt, forsvar 2:50 · km 35: kadens −4 spm fra km-10-referansen eller −10 s på intakt innsats = brudd → lås 4:06–4:08 resten. Detaljer i §5.3.
4.6 Løpende gates: dysregulerings-gaten m/ race-krater-demping D+1…D+4 (G5) · dobbel-terskel-morgener etter E8-reglene · B1b-absorpsjonsflagget (G8).
| Uka | INGEN taper (E1): normal u32, siste fulle terskel fre 7.8, lett dag-før m/ primer |
|---|---|
| Kjøreplan | Km 1 = **3:40–3:44, aldri under 3:38** · lås 3:41–3:43 til km 7 · **alt fra km 8** · 5k-pass 18:25–18:30 (5k-split-PR-en 18:38 ryker underveis — planlagt) · fade-mål ≤0 % |
| Vær-gate | >5 m/s → even-effort (WGAP-ro), aldri jag km-tider i motvind |
| Race-eve | Søvn ≥8 t · HRV-flagg alene = info (ikke måljustering) · reelle flagg: sykdom <14 d, vind |
| Verktøy | A9-generatoren mates med 36:50-mål + RE1/RE2-låsene; pulsbelte sjekkes i kulde/regn |
| Etter | Immunvakt 72 t (gulv) · kvalitet-retur dag 4–5 · HRV-dip −17 %-klassen D+1 er normalt |
| Gapet | 3,8 s/km fra Berlin-PB — dekkes av S1 LT2-løft (2–3) + S2 I4-billett (1–1,5) + S3 taper (0,5–1) + S4 forhold (0–1) ≈ 4–6 s/km. S1 tas som gitt (B+); FABLE-9 skjerper |
|---|---|
| Uka | Ekte taper (E2, Berlin-malen): TSB-pre +20…+25, ATL/CTL ~5:1, søvn ≥8 t |
| Kjøreplan | Husstilen: åpning +3–5 s/km (3:50-kontrollert første 3 km), negativ splitt −4…−6 s/km · skjema fra go/no-go-porten §4.3 · I4 først fra km 15–16 (Berlin-reserven: 95 % I3, finish 3:30) |
| Etter | Race = 4–5-dagers enhet: 72 t immunvakt er gulvet, u39 er planlagt deretter — krateret er godartet |
| Fase | Km | Pace |
|---|---|---|
| Åpning | 1 | 4:10–4:11 (HR <155 — trengsel er gratis) |
| Nedtrapping | 2–3 | 4:06 → 4:04 |
| Innfasing | 4–8 | 4:02 — **gate km 5** (§4.5); aldri raskere enn 3:57 før km 8 |
| Lås | 9–24 | 4:01–4:02 i tog, korridor ±4 s; kadens-referanse noteres ~km 10 — **gate km 25** |
| Halvveis-lull | 24–26 | gel + fokuspunkt (mini-dippen i 6/11 løp) |
| GI-protokoll | 27–30 | ved mageknip: aksepter +10–15 s/km i maks 3 km, **ikke jag tilbake** (hendelse ≠ brudd; Berlin-kvitteringen: full recovery, kost <80 s) |
| Vindsonen | 30–37 | 4:01–4:02 LÅST — le/gruppe FØR km 30; **watt får svinge, aldri farten** · km-variasjon >±4 s = du drar alene — **gate km 35** |
| Betalt frislipp | 38–40 | 3:58–3:59 — KUN grønn km-35-gate (reserven er reell: 9/11 løp spurter) |
| Mål | 41–42,2 | 3:56–3:57 |
5k-armbånd: 20:25 · 20:11 · 20:09 · 20:09 · 20:09 · 20:09 · 20:09 · 20:00 + 8:40 (G3 genererer HTML/armbånd m/ gate-rader). Fylling 85–90 g/t + koffein-plan — øvd på L4-turene (u34/35/40/41) til race-sikker. >16° racesnitt → +3–5 s/km fra start; racesko testet T−15 og T−8.
Varmen er fortsatt lovlig stimulus (og nå uten høyde-strain): puls <138 på alt rolig, kvalitet kun morgen/skygge, langturene er ukas viktigste økter — bruk dem på race-fylling-øving. Ikke jag pace. Hjemkomst 16.7: to rolige dager, så T2.5-porten 19.7.
1. u32 bygges om (E1): 71 → ~95 km · langtur 18 → 26–28 rolig · siste fulle terskel senest fre 7.8 · kvalitetsrekka fordeles (man 10k-spiss står; ons/fre-detaljene velges i dialog).
2. u41: TOSK man 5.10 → tir 6.10 (E7) — og lett-TOSKen ons 7.10 vurderes → tor 8.10 for å unngå rygg-mot-rygg.
3. MP-påplussing (E6): u34 3×5 → 3×6 · u35 12 → 14–15 · u40 3×6 → 3×7 — kun så langt P4-utførelsen holder. Gir ~95–105 eksplisitte MP-km; resten av 120–150 dekkes av MP-terskel-TOSKene u40–41 + evt. MP-finish på én mellomtur. Blokk-monitoren (OPPSKRIFT-2) teller fasiten.
4. Race-day-labels oppdateres: Energimila «gi på fra 6» → «alt fra km 8» (RE2) · Amsterdam «4:03 første 5 km, MP-lås til 32, alt fra 35» → fase-planen §5.3 (G3-generatoren skriver armbåndet).
5. HRV-gate-notat i day-labels for man-TOSK u30/u35/u36 (D+2 etter 30k+; rød morgen → flytt/demonter, PM-økta ryker aldri søvn/langtur).
Åpne kalibreringer: S1/LT2-dosen — FABLE-9 leverer km/u I3/I4 + drag-pace-mål for u29–37; v3s 3:43–3:45 og terskelvolum justeres mot den rapporten · varme del 2 (O1, etter 17.7) eier finlesningen av T2.5 · `fueling_log` fylles fra u28-langturene — Amsterdam-blokka er første med 85–90 g/t-data · G4-race-decoupling (EF 31–35/3–8) får sitt første datapunkt i Amsterdam.
Grunnlag: v2 (03.07, spikret) · Tverrmaraton-syntesen §5–6 (sub-2:50-oppskriften) · FABLE-4 §6–7 · FABLE-5 §5–7 · FABLE-6 §3 · FABLE-7 §3 · `training_plan_daily.json` u28–42 (lest, ikke rørt) · Fable-Vinduet-Sammendraget. Modelltall per 06.07.
Parallelløkt-notat: kun denne fila er skrevet; TODO/CHANGELOG/SYSTEM_OVERVIEW/data/ urørt; ingen sync/bygg kjørt.
Konsolideringslinje: `Running_Brief_Blokkplan-Amsterdam_v3.md` — v2 + Fable-vinduet foldet til én operativ plan: u32-minitaper skrotet (K3), u38 Berlin-taper, u39 immunvakt m/ krater-anker, P4-port u40–41 (rød → 2:52-pacing, aldri forsert trening), MP-mål 120–150 (plan ~80 → §7-påplussing), race-uke-gates i alle tre løp (London-gate km 5 m.fl.), 30k+-avstandsregel (u41-TOSK → tirsdag), T2.5-port 19.7, RHR-blindsone. Dagene spikres med Carl (§7); S1 åpen kalibrering mot FABLE-9.
Dato: 2026-07-07 (Fable) · Formål: Carl er uenig i deler av planen og skal ta gjennomgangen i dialog (Opus, 08.07). Dette dossieret er HELE grunnlaget: dagens dag-for-dag-sannhet, v3-forslagene som ennå ikke er dag-spikret, portene/reglene, innsigelses-skjema og endringsprosedyre — samt målbildet for å samle coach-/plandokumentasjonen på ETT sted.
1. `data/static/training_plan_daily.json` — DAGENE ER SANNHETEN (PLAN_STRUKTUR-regelen). Tabellen i §2 er en ren rendering av denne per 07.07.
2. `Running_Brief_Blokkplan-Amsterdam_v3.md` (FABLE-8, 06.07) — gjeldende ANBEFALING m/ endringslogg E1–E10; forslagene i §3 under er IKKE dag-spikret ennå.
3. `Running_Brief_Blokkplan-Amsterdam_v2.md` — historisk (03.07-spikringen).
4. `Coach/TRAINING_PLAN.md` er STALE (skrevet 12. april — «Fase 0→1», foreldede nedtellinger) og skal IKKE brukes som kilde. Pensjoneres/omskrives i konsolideringen (§7).
5. `Coach/COACH_INSTRUCTIONS.md` — coaching-regler (HRV-gates, G1-søvnregelen). `PLAN_STRUKTUR.md` — mekanikken (kommandoer, validering).
| Uke | Dato | Dag | Type | Økt | km |
|---|---|---|---|---|---|
| 28 | 2026-07-06 | man | easy | Easy 11 km | 11 |
| 28 | 2026-07-07 | tir | easy+styrke | Easy 12 km + Rodal bodyweight (4 øv.) | 12 |
| 28 | 2026-07-08 | ons | kvalitet | Mølle/ute-terskel: 5×2000 @ 3:53–3:56 (90s) | 14 |
| 28 | 2026-07-09 | tor | easy+styrke | Easy 12 km + Rodal kjerne | 12 |
| 28 | 2026-07-10 | fre | easy | Easy 11 km | 11 |
| 28 | 2026-07-11 | lør | kvalitet-lett | 45/15 × 22 utendørs tidlig ELLER mølle: 10×1000 @ 3:52 (60 | 12 |
| 28 | 2026-07-12 | søn | langtur | Langtur 28 km rolig (tidlig morgen), fylling 80 g/t | 28 |
| **28** | **SUM** | **100** | |||
| 29 | 2026-07-13 | man | easy | Easy 11 km | 11 |
| 29 | 2026-07-14 | tir | easy+styrke | Easy 12 km + Rodal bodyweight (4 øv.) | 12 |
| 29 | 2026-07-15 | ons | kvalitet | 45/15 × 22 (kontrollert I3) | 14 |
| 29 | 2026-07-16 | tor | easy+styrke | Easy 12 km + Rodal kjerne | 12 |
| 29 | 2026-07-17 | fre | kvalitet-lett | Tempo: 3×10 min @ 3:55–4:00 (vei/mølle) — reisevennlig (fr | 12 |
| 29 | 2026-07-18 | lør | langtur | Langtur 30 km rolig (tidlig morgen) | 30 |
| 29 | 2026-07-19 | søn | easy | Easy 9 km | 9 |
| **29** | **SUM** | **100** | |||
| 30 | 2026-07-20 | man | kvalitet | MandagsTOSK re-intro: 8×1000 @ 3:55 (60s stå), kontrollert | 13 |
| 30 | 2026-07-21 | tir | easy+styrke | Easy 11 km + Styrke A re-intro 60 kg (4 øvelser) | 11 |
| 30 | 2026-07-22 | ons | easy | Easy 16 km | 16 |
| 30 | 2026-07-23 | tor | easy+styrke | Easy 10 km + Rodal 2 runder | 10 |
| 30 | 2026-07-24 | fre | easy | Easy 11 km | 11 |
| 30 | 2026-07-25 | lør | langtur | Langtur 28 km rolig L2 — fylling 80 g/t | 28 |
| 30 | 2026-07-26 | søn | easy | Easy 11 km | 11 |
| **30** | **SUM** | **100** | |||
| 31 | 2026-07-27 | man | kvalitet | MandagsTOSK: 5×2000 @ 3:52–3:55 (90s stå) | 14 |
| 31 | 2026-07-28 | tir | easy+styrke | Easy 12 km + Styrke A 65 kg | 12 |
| 31 | 2026-07-29 | ons | kvalitet | DOBBEL TERSKEL: AM 6 km @ 4:10–4:15 (LT1) · PM OnsdagsTOSK | 19 |
| 31 | 2026-07-30 | tor | easy+styrke | Easy 10 km + Rodal 2 | 10 |
| 31 | 2026-07-31 | fre | easy | Easy 9 km | 9 |
| 31 | 2026-08-01 | lør | langtur | Langtur 30 km L3 progressiv: siste 6 km 4:15→4:00 | 30 |
| 31 | 2026-08-02 | søn | easy | Easy 11 km | 11 |
| **31** | **SUM** | **105** | |||
| 32 | 2026-08-03 | man | kvalitet | MandagsTOSK 10k-spiss: 6×1000 @ 3:45–3:48 (60s stå) | 12 |
| 32 | 2026-08-04 | tir | easy+styrke | Easy 10 km + kjerne lett (ingen tunge løft) | 10 |
| 32 | 2026-08-05 | ons | kvalitet-lett | 4×400 @ 3:25 + 4×100 strides (fart uten syre) | 9 |
| 32 | 2026-08-06 | tor | easy | Easy 8 km | 8 |
| 32 | 2026-08-07 | fre | easy | Easy 6 km + 4×100 strides | 6 |
| 32 | 2026-08-08 | lør | langtur | Langtur 18 km rolig | 18 |
| 32 | 2026-08-09 | søn | easy | Easy 8 km | 8 |
| **32** | **SUM** | **71** | |||
| 33 | 2026-08-10 | man | easy | Easy 7 km + 4×100 strides | 7 |
| 33 | 2026-08-11 | tir | kvalitet-lett | Primer: 3×1000 @ 3:50 (full pause) + strides | 8 |
| 33 | 2026-08-12 | ons | race | 🏁 ENERGIMILA 10 km — mål sub-37:00 (3:42/km). Jevn start ( | 14 |
| 33 | 2026-08-13 | tor | easy | Restitusjon: easy 6 km eller hvile (immunvakt) | 6 |
| 33 | 2026-08-14 | fre | easy | Easy 8 km (immunvakt) | 8 |
| 33 | 2026-08-15 | lør | langtur | Langtur 22 km rolig (immunvakt — kun I1) | 22 |
| 33 | 2026-08-16 | søn | easy | Easy 9 km | 9 |
| **33** | **SUM** | **74** | |||
| 34 | 2026-08-17 | man | kvalitet | MandagsTOSK: 4×2000 @ 3:50 (90s stå) — HMP-terskel | 14 |
| 34 | 2026-08-18 | tir | easy+styrke | Easy 12 km + Styrke A 70 kg | 12 |
| 34 | 2026-08-19 | ons | kvalitet | DOBBEL: AM 6 km @ 4:10 (LT1) · PM 10×1000 @ 3:50 (60s stå) | 19 |
| 34 | 2026-08-20 | tor | easy+styrke | Easy 11 km + Rodal 2 | 11 |
| 34 | 2026-08-21 | fre | easy | Easy 8 km | 8 |
| 34 | 2026-08-22 | lør | langtur-kvalitet | Langtur 32 km L4: 3×5 km @ MP 4:00–4:05 i km 15–30 — race- | 32 |
| 34 | 2026-08-23 | søn | easy | Easy 8 km eller hvile | 8 |
| **34** | **SUM** | **104** | |||
| 35 | 2026-08-24 | man | kvalitet | MandagsTOSK: 3×3000 @ 3:50–3:52 (2 min stå) — HM-spesifikk | 15 |
| 35 | 2026-08-25 | tir | easy+styrke | Easy 12 km + Styrke A 70 kg | 12 |
| 35 | 2026-08-26 | ons | kvalitet | DOBBEL: AM 6 km @ 4:10 · PM 45/15 × 25 (kontrollert I3/I4) | 19 |
| 35 | 2026-08-27 | tor | easy+styrke | Easy 12 km + Rodal 1 | 12 |
| 35 | 2026-08-28 | fre | easy | Easy 8 km | 8 |
| 35 | 2026-08-29 | lør | langtur-kvalitet | Langtur 34 km L4: 12 km sammenhengende @ MP 4:00–4:03 (km | 34 |
| 35 | 2026-08-30 | søn | easy | Easy 8 km | 8 |
| **35** | **SUM** | **108** | |||
| 36 | 2026-08-31 | man | kvalitet | MandagsTOSK: 5×2000 @ 3:48–3:50 (90s stå) | 14 |
| 36 | 2026-09-01 | tir | easy+styrke | Easy 10 km + Styrke A lett (2 sett) | 10 |
| 36 | 2026-09-02 | ons | easy | Easy 16 km | 16 |
| 36 | 2026-09-03 | tor | easy+styrke | Easy 8 km + Rodal kjerne | 8 |
| 36 | 2026-09-04 | fre | easy | Easy 11 km | 11 |
| 36 | 2026-09-05 | lør | langtur-kvalitet | Langtur 28 km: siste 6 km @ HMP 3:50 (L3/L4) | 28 |
| 36 | 2026-09-06 | søn | easy | Easy 13 km | 13 |
| **36** | **SUM** | **100** | |||
| 37 | 2026-09-07 | man | kvalitet | MandagsTOSK: 5×1000 @ 3:45 (60s stå) — skarp og kort | 12 |
| 37 | 2026-09-08 | tir | easy+styrke | Easy 10 km + kjerne lett | 10 |
| 37 | 2026-09-09 | ons | easy | Easy 8 km | 8 |
| 37 | 2026-09-10 | tor | easy+styrke | Easy 8 km + Rodal lett (siste før HM) | 8 |
| 37 | 2026-09-11 | fre | easy | Easy 6 km | 6 |
| 37 | 2026-09-12 | lør | langtur-kvalitet | Langtur 20 km m/ 5 km @ HMP 3:47–3:50 (generalprøve: races | 20 |
| 37 | 2026-09-13 | søn | easy | Easy 8 km | 8 |
| **37** | **SUM** | **72** | |||
| 38 | 2026-09-14 | man | easy | Easy 8 km + 4×100 strides | 8 |
| 38 | 2026-09-15 | tir | kvalitet-lett | Primer: 4×1000 @ 3:50 (full pause) | 9 |
| 38 | 2026-09-16 | ons | easy | Easy 7 km | 7 |
| 38 | 2026-09-17 | tor | easy | Easy 6 km + 4×100 strides | 6 |
| 38 | 2026-09-18 | fre | hvile | Hvile (reise Kbh) eller 4 km løsning | 4 |
| 38 | 2026-09-19 | lør | easy | Easy 4 km + 3×100 strides (dagen før) | 4 |
| 38 | 2026-09-20 | søn | race | 🏁 KØBENHAVN HALVMARATON — mål sub-1:20:00 (3:47/km), start | 22 |
| **38** | **SUM** | **60** | |||
| 39 | 2026-09-21 | man | hvile | Hvile | 0 |
| 39 | 2026-09-22 | tir | easy | Easy 11 km | 11 |
| 39 | 2026-09-23 | ons | easy | Easy 13 km | 13 |
| 39 | 2026-09-24 | tor | easy+styrke | Easy 8 km + Rodal lett kjerne | 8 |
| 39 | 2026-09-25 | fre | easy | Easy 13 km | 13 |
| 39 | 2026-09-26 | lør | langtur | Langtur 22 km rolig L1 (kun I1 — restitusjonstur) | 22 |
| 39 | 2026-09-27 | søn | easy | Easy 8 km | 8 |
| **39** | **SUM** | **75** | |||
| 40 | 2026-09-28 | man | easy | Easy 12 km | 12 |
| 40 | 2026-09-29 | tir | kvalitet | TOSK (flyttet fra man): 5×2000 @ 3:55–3:58 — MP-terskel | 14 |
| 40 | 2026-09-30 | ons | easy+styrke | Easy 10 km + Rodal kjerne | 10 |
| 40 | 2026-10-01 | tor | easy | Easy 10 km | 10 |
| 40 | 2026-10-02 | fre | easy | Easy 8 km | 8 |
| 40 | 2026-10-03 | lør | langtur-kvalitet | LANGTUR 36 km L4: 3×6 km @ MP 4:00–4:03 (km 14–34) — gener | 36 |
| 40 | 2026-10-04 | søn | easy | Easy 10 km | 10 |
| **40** | **SUM** | **100** | |||
| 41 | 2026-10-05 | man | kvalitet | MandagsTOSK: 4×2000 @ 3:58–4:00 (MP-rytme, 90s stå) | 13 |
| 41 | 2026-10-06 | tir | easy+styrke | Easy 10 km + Styrke A lett 55 kg, 2 sett (SISTE) | 10 |
| 41 | 2026-10-07 | ons | kvalitet-lett | OnsdagsTOSK: 6×1000 @ 3:52 (60s stå) | 11 |
| 41 | 2026-10-08 | tor | easy+styrke | Easy 10 km + Rodal lett | 10 |
| 41 | 2026-10-09 | fre | easy | Easy 9 km | 9 |
| 41 | 2026-10-10 | lør | langtur-kvalitet | Langtur 26 km m/ 12 km @ MP 4:01 (T-8) — siste MP-generalp | 26 |
| 41 | 2026-10-11 | søn | easy | Easy 11 km | 11 |
| **41** | **SUM** | **90** | |||
| 42 | 2026-10-12 | man | easy | Easy 6 km | 6 |
| 42 | 2026-10-13 | tir | kvalitet-lett | MP-primer: 4×1000 @ 4:00 (full pause) | 9 |
| 42 | 2026-10-14 | ons | easy | Easy 7 km + 4×100 strides | 7 |
| 42 | 2026-10-15 | tor | easy | Easy 5 km (reise AMS) | 5 |
| 42 | 2026-10-16 | fre | hvile | Hvile | 0 |
| 42 | 2026-10-17 | lør | easy | Easy 4 km + 3×100 strides (dagen før) | 4 |
| 42 | 2026-10-18 | søn | race | 🏁 AMSTERDAM MARATON — mål sub-2:50:00 (4:01/km). Jevnt: 4: | 43 |
| **42** | **SUM** | **74** |
| # | Forslag | Uke | Dagens json | v3-anbefaling | Kilde |
|---|---|---|---|---|---|
| D1 | **Skrot mini-taperen før Energimila** | 32 | 71 km m/ nedtrapping | ~95 km normal uke, siste fulle terskel fre 7.8, lett kun dag-før | E1 (F5 K3: 10k-PB-ene kom på full uke) |
| D2 | MP-km-utvidelse på L4-turene | 34/35 | 3×5 @ MP / 12 km MP | 3×6 / 14–15 km sammenhengende | E6/§7.3 (P5-mål 120–150, gulv 80) |
| D3 | u28-reiseavvik (Italia→Tyskland→Norge) | 28 | kvalitet ons + lør-lett + langtur søn | FAKTISK kjørt: kvalitet tir (4×2000 ✓); forslag: kvalitet #2 fre (10×1000), langtur lør 26–28 m/ fylling, søn reise | Denne uka — spikres bakover |
| D4 | T2.5-utfallet → u30-aggressivitet | 30 | TOSK re-intro standard | RHR 36–37 vedvarende hjemme → tidlig FULL terskel i utladningsvinduet (17.–27.7) | §4.1 / F4a |
| D5 | Dragsnitt-progresjon mot K6-porten | 30–37 | drag-farter står per økt | 8-ukers I3-dragsnitt ≤3:47 innen ~1.9; skarpeste økter 3:43–3:45; ≥1 dobbel hver 3.–4. uke | F9 §3 |
Fredet: langtur-trappa 30-30-32-34-36 (P3-minimum, 5 stk) · u38 ekte taper (E2) · u39 immunvakt null kvalitet (E3) · P4-porten u40–41 (rød → 2:52-pacing, ALDRI forsert trening). Porter: T2.5 (19.7) · Energimila-streken 36:57/36:4x (12.8) · Kbh go/no-go (u38) · P4 (u40–41) · in-race-gates (km 5/25/35). Wellness-lesning: HRV+BB, aldri RHR alene · kvalitet ~gratis, 30k+ = 2–3 d, race = 4–5 d · post-race-krater er godartet.
| # | Uke/økt | Innsigelsen | Alternativ | Konsekvens mot KPI/porter (fylles av Opus) | Beslutning |
|---|---|---|---|---|---|
| I1 | |||||
| I2 | |||||
| I3 |
Regel for dialogen: hver endring vurderes mot P1–P10 og de fredede elementene; endringer som bryter en port krever eksplisitt «overstyrt av Carl»-merknad. Volum kan alltid ned — porter og langtur-trapp ofres sist.
1. Enighet per punkt → skriv endringen inn i `training_plan_daily.json` (dagene, ikke ukene).
2. `python3 scripts/build_weekly_from_daily.py` → uketall regenereres.
3. `python3 scripts/validate_plan.py` → vern (volumsummer, duplikater, faseregler).
4. CHANGELOG-oppføring m/ beslutningsliste (I-numrene) · v3-briefen får en «Besluttet 08.07»-seksjon, IKKE omskriving bakover.
5. Neste sync bygger hub/blokkplan-fanen fra ny sannhet. (A3-forhandleren automatiserer dette senere — regelverket ligger klart, byggingen er O-kø.)
Dagens fragmentering: plan-innhold bor i daily.json + v2 + v3 + STALE TRAINING_PLAN.md; regler bor i COACH_INSTRUCTIONS + v3 + rapporter. Målbildet (tre filer, null parallelle løp):
Dato: 2026-07-06 · Skrevet av: Claude (Fable, FABLE-10 fra TODO) · Grunnlag: runde 3-rapportens A3-skisse · `PLAN_STRUKTUR.md` + `training_plan_daily.json`-skjemaet (verifisert mot fila) · `Coach/COACH_INSTRUCTIONS.md` (HRV-gates, G1-søvnregelen, belastningsregler) · `Running_Brief_Blokkplan-Amsterdam_v2.md` · `Running_Report_Absorpsjons-Syntese_v1.md` §1–3 (FABLE-7) som harde constraints · eksisterende amendment-maskineri (`data/plan_amendments.json`-skjemaet, `build_week_report.effective_targets`, `daily_plan_overrides.json`).
Hva dette er: Det komplette regelsettet ukeplan-forhandleren (A3) skal validere mot — hva som kan flyttes/byttes og aldri, minimumsavstander, HRV/immunvakt-interaksjon, ukevolum-invarians, amendment-formatet (JSON-patch mot `training_plan_daily.json`), og 10 testscenarier med fasit som Opus-byggingen valideres mot. Designet er plan-agnostisk (regler mot faser/dagstyper, ikke datoer) — det overlever Blokkplan v3 (FABLE-8, kjører parallelt) uendret. Ingen pipeline-filer rørt; kun denne leveransefila (parallellprotokollen).
Fra A3-skissen, uendret: klikk en planlagt økt → «flytt til …» → klient-side validering mot regelboka → amendment-JSON genereres, skrives ikke. Carl godkjenner i coaching-økt; et apply-script (Opus: `scripts/apply_plan_amendment.py`) utfører patchen. Snapshot-disiplinen (T5/`snapshot_week_plan.py`) er hellig: baseline fryses søn/man, endringer etterpå lever som amendments — det er slik ukesrapport-scoringen skiller begrunnet tilpasning fra avvik.
Forhandleren limer sammen tre eksisterende mekanismer — den erstatter ingen av dem:
| Mekanisme | Rolle i A3 |
|---|---|
| `training_plan_daily.json` weeks[].days[] | Sannheten. Patch-målet. Eneste sted en økt endres (PLAN_STRUKTUR-regelen). |
| `data/plan_amendments.json` (per ISO-uke) | Score-laget: `justified` + `reason` + `adjusts` re-baseliner ukemålene i `build_week_report`. Hver A3-amendment SPEILES hit (§7). |
| `data/static/daily_plan_overrides.json` | Én-dags-lag for morning brief/coaching_view. A3 skriver hit KUN ved samme-dags-endring (dagens økt), aldri for framtidige dager — framtiden endres i planfila. |
Fire utfall per forespørsel: TILLAT (grønn — patch genereres) · TILLAT MED VILKÅR (gul — patch + eksplisitte vilkår som er del av amendmenten) · AVSLÅ (rød — regelbrudd m/ regel-ID + motforslag der det finnes) · ESKALER (grå — utenfor mandat: øktinnhold/format, uke-targets, kryssuke-strukturendringer, alt som krever Carl-dialog per PLAN_STRUKTUR).
Mandatet er smalt med vilje: forhandleren flytter, bytter og dropper HELE dager/økter innen strukturen som finnes. Den endrer aldri øktINNHOLD (format, drag, pace-mål — det er Carl-dialog, jf. «dagene spikres med Carl»-regelen), aldri uke-targets direkte, og aldri noe i race-kalenderen.
`kvalitet` · `kvalitet-dobbel` · `kvalitet-lett` · `kvalitet-kort` · `langtur` · `langtur-kvalitet` · `race` · `easy` · `easy+styrke` · `hvile` · `hvil-eller-easy`. Dagfelter: `date, day, type, label, distance_km, zone` + valgfrie `target_*`, `_note`, `_chat_notat`, `_locked`, m.fl.
Hard: `kvalitet`, `kvalitet-dobbel`, `kvalitet-lett` (45/15 progressiv = hard økt, ikke «lett kvalitet» — COACH-regel), `kvalitet-kort`, `langtur-kvalitet` (L2+; = full kvalitetsøkt), `race`.
Rolig: `easy`, `easy+styrke`, `hvile`, `hvil-eller-easy`, `langtur` (L1 rolig).
30k+-ENHETEN er ortogonal til hard/rolig: enhver dag med `distance_km ≥ 30` utløser absorpsjonsreglene (M3/M4/M5) uansett type og intensitet — en rolig 30-km-tur er autonomt en 2–3-dagers enhet (FABLE-7 A2). 25–29 km koster ~1 dag og behandles som vanlig dag pluss én obs (ingen egen avstandsregel utover hard/rolig-logikken).
| Vindu | Definisjon | Effekt |
|---|---|---|
| **Immunvakt** | D+1..D+3 etter hvert race (72 t = GULVET, FABLE-7 A3) | Ingen kvalitet kan plasseres her. Rolig løping OK. |
| **Kvalitet-karantene post-race** | Kvalitet tidligst **D+4** etter 10k/HM, **D+5** etter maraton (full autonom klarering 4–5 d — FABLE-7 §3) | Flytteforslag inn i vinduet avslås. |
| **Race-uke-vern** | Fra første dag i race-ukas taper-/lett-sekvens SLIK PLANEN DEFINERER DEN (v2: mini-taper 5 d før Energimila; RE3/FABLE-5 skjerper til «hold uka, lett dag-før» — v3 eier fasiten) til race-dagen | Ingen INNFLYTTING av harde økter utover det planen selv har. Dag-før er alltid lett (U8) uansett taper-modell. |
| **Down-uke** | Uker planen selv merker som down/nedtrapping (hver 4. uke-prinsippet) | Ingen innflytting av harde økter eller volum-økning (U6). |
| **L4-anker** | Datoforankrede nøkkelturer i M-spissingen (v2: 36 km m/ MP på T−15, 26 km m/ 12 MP på T−8) | Flytt maks ±1 dag, aldri på tvers av uker, kaskade-validering (M-regler + T-avstand til race må holde). |
| Dagstype | Flyttbar? | Regler |
|---|---|---|
| `race` | **ALDRI** (U1) | Race-datoer eies av virkeligheten/races.json. Enhver op som rører en race-dag avslås. |
| Dag med `_locked: true` | **ALDRI** (U3) | Samme kontrakt som quality.json-låsen: låst = urørlig for maskineri. 14 slike finnes i planfila i dag. |
| `langtur` / `langtur-kvalitet` | ±1 dag innen samme uke (typisk lør↔søn) | Droppes ALDRI av forhandleren (U2 — Frankfurt-lærdommen: det er PM-økta som ryker, aldri langturen). Distanse-reduksjon = ESKALER. L4-anker: se §1.3. |
| `kvalitet` / `kvalitet-lett` / `kvalitet-kort` | Fritt innen ISO-uka | Alle M- og V-regler må holde ETTER flyttet. Kan droppes kun m/ amendment (justified + reason). |
| `kvalitet-dobbel` | Flytt som HEL dag innen uka; PM-økta kan droppes SEPARAT (H2) | Dobbel = én hard dag (AM+PM samme dag er det lovlige unntaket fra U5). Splitting av AM/PM på to dager = AVSLÅ (da er det ikke lenger dobbel terskel). |
| `easy` / `easy+styrke` | Fritt | Byttes typisk mot den flyttede økta (swap). Styrke-delen har egne regler (M6/M7) — flytting av easy-dagen drar styrken med seg og må M6-valideres. |
| `hvile` / `hvil-eller-easy` | Fritt | Kan byttes mot easy; kan ikke fjernes fra uka hvis det skaper >6 treningsdager ELLER bryter avstandsregler. |
| Styrkeøkter (bor i `strength_plan.json`) | Fritt m/ M6/M7 | Amendment må peke på strength_plan-endringen eksplisitt (eget patch-target, §7). Innhold (øvelser, maks 4) = ESKALER. |
Bytte (swap) vs flytt (move): swap bytter to dagers innhold 1:1 (volum-nøytralt per konstruksjon); move legger økta på en rolig dag og setter kildedagen til easy/hvile (volum-effekt må V1-valideres). Begge valideres mot HELE regelverket på resultat-tilstanden, ikke på operasjonen — og adjacency sjekkes OVER ukegrenser (søndag→mandag neste uke teller).
| ID | Regel | Kilde/begrunnelse |
|---|---|---|
| **M1** | Aldri to harde dager på rad — minst 1 rolig dag mellom harde dager (unntak: dobbel terskel innen SAMME dag). Gjelder over ukegrenser. | COACH belastningsregel; «aldri kvalitet→kvalitet dag-til-dag» (O5-skissen). |
| **M2** | Etter en 30k+-dag ELLER L4-nøkkeltur (MP-bærende langtur uansett distanse — u41s 26 km m/ 12 MP teller): ≥2 rolige dager før neste harde stimulus (neste harde tidligst D+3). **NB pre-eksisterende spenning:** v2s HM-bygg har lør-L4 → man-TOSK (D+2, én rolig mellom) i u34→35; M-spissingen er alt kalibrert (u40 har TOSK flyttet til tirsdag). Delta-prinsippet (§7) gjelder: eksisterende brudd flagges som warning, blokkerer ikke; en op som INTRODUSERER ny hard dag på D+1/D+2 etter 30k+/L4 avslås. FABLE-8/v3 eier plan-kalibreringen. | FABLE-7 A2/§3: 30k+ er en 2–3-dagers enhet; 61 % trenger ≥2 d full HRV+RHR-retur; «sjekk avstander rundt L4-turene». |
| **M3** | Dagen FØR en 30k+-dag er rolig. | Følger av M1 for L3/L4 (som er harde); utvidet til rolige 30k+ for enhets-vern. |
| **M4** | Dobbel terskel og 30k+ aldri på nabo-dager (Δ1 kalenderdag, noen retning). Norm = ons↔lør-strukturen (Δ3, to rolige dager mellom — u31/34/35 følger den). Δ2 (én rolig mellom) = TILLAT MED VILKÅR, ikke AVSLÅ. | FABLE-7 §3: «ikke la en 30k+ havne rett foran eller etter en dobbel»; behold ~3-dagers strukturen. |
| **M5** | Etter race: immunvakt D+1..D+3 (rolig OK, null kvalitet); kvalitet tidligst D+4 (10k/HM) / D+5 (maraton). | FABLE-7 A3 (race 4–5-dagers enhet; 72 t er gulv, ikke tak) + blokkplan §5. |
| **M6** | Tung underkropp-styrke: aldri <36 t før TOSK eller langtur; aldri dagen etter TOSK+langtur-kombinasjon; kjerne/overkropp er unntatt. | A3-skissen + styrkereglene (blokkplan §2). |
| **M7** | Siste tunge styrkeøkt T−13 før HM; siste (lette) T−6 før maraton. Flytteforslag som bryter T-grensene avslås. | Blokkplan §2. |
Presedens ved konflikt mellom regler: U-regler (§2, absolutte) > M-regler > V-regler (§5) > anbefalinger. En op som må bryte en U- eller M-regel for å redde en V-regel avslås — volum reddes aldri på bekostning av avstand.
Gaten (COACH-tabellen: Toppdag/Grønt/Modifiser/Gult <55 HRV el. ≥43 RHR/Rødt <45 el. ≥44) styrer DAGENS eksekvering; forhandleren styrer PLASSERING. Koblingen:
| ID | Regel |
|---|---|
| **H1** | Gult/Rødt på en planlagt hard morgen → forhandleren foreslår FLYTT (ikke bare drop) hvis en lovlig slot finnes senere i uka; ellers drop m/ amendment (`reason: tretthet_hrv, justified: true`). Enhver flytt-til-dag med hard økt betinges av gate-recheck den morgenen (vilkår i amendmenten — gaten kan ikke forhåndsklareres). |
| **H2** | **Frankfurt-regelen:** to HRV-svake morgener på rad i dobbel-uke → PM-økta av dobbelen ryker FØRST. Aldri langturen, aldri søvnen. Drop av PM er en egen op (ikke flytt — stabling senere i uka ville bryte V4/M1). |
| **H3** | **Post-race-krateret er godartet:** HRV −30..−45 % på D+1..D+4 etter tapret race er FORVENTET (FABLE-7 A5; G5-dempingen i OPUS-IMPL-1 koder det samme). Forhandleren skal IKKE generere amendments på krateret alene — immunvakt-vinduet styrer uansett. Feilmodus å vokte i bygget: gate-misfire som auto-foreslår flytting av neste ukes økter pga. forventet krater. |
| **H4** | Post-30k+ HRV-dip D+1..D+2 er forventet del av enheten — ingen aksjon utover M2. **Unntak:** >3 dagers HRV-retur etter en 30k+ = dårlig absorbert (B1b-flagget, G8 bygges i kveld) → forhandleren foreslår +1 dag ekstra avstand før neste harde stimulus (TILLAT MED VILKÅR-mekanikken). |
| **H5** | Rød/gul morgen ETTER en isolert kvalitetsøkt (ingen race/30k+/sykdom i forkant) → signalet er livsstress/søvngjeld, ikke økta (FABLE-7 A1: kvalitet er autonomt ~gratis, 52 % ingen dip). Ikke auto-flytt; flagg til Carl-dialog («avgjør på følelse»). |
| **H6** | RHR friskmelder ALDRI alene (A4: non-responder, maks-avvik ≤7 slag). Klarering leses på HRV + Body Battery. |
| **H7** | **G1-søvnregelen:** søvnscore er bekreftende, ikke selvstendig flyttegrunn. <74 = myk obs (~0,6 tier-poeng); IKKE grunnlag for auto-flytt ved god HRV. Abort-kombinasjonene står: søvn <75 + HRV <60, eller HRV <55 alene, eller stress_avg >28 + HRV <55 → behandles som H1. |
| **H8** | Sykdom/dysregulering (⛔-gate i morning brief): all forhandling suspenderes — ingen flytting INN av noe som helst; drops m/ `reason: sykdom`. Kvalitet-retur etter sykdomsperiode er Carl-dialog (ESKALER), ikke regelverk. |
Uketallene regnes fra dagene (`build_weekly_from_daily.py`) — enhver dag-patch endrer dem automatisk. Derfor er invariansen definert på DAG-SUMMEN, ikke på target-feltene:
| ID | Regel | ||
|---|---|---|---|
| **V1** | Flytt/bytt er volum-nøytralt: | Σ distance_km etter − før | ≤ 5 km per uke. Større avvik krever amendment m/ `adjusts` (justified reason) — da re-baseliner `effective_targets` ukemålet, og scoringen forblir ærlig. |
| **V2** | Kvalitets-km konverteres ALDRI til easy-km. En droppet kvalitetsøkt erstattes ikke med rolig volum for å «redde» uketallet — volumet får synke, amendmenten dokumenterer hvorfor. (Skjult konsekvens av V1-toleransen: maks 5 km rolig kompensasjon, aldri mer.) | ||
| **V3** | Langtur-km er udelelig: aldri splitt en langtur i to økter, aldri flytt km fra langtur til andre dager. Reduksjon av langtur-distanse = ESKALER (U2-slektning). | ||
| **V4** | Maks 3 kvalitetsøkter/uke (langtur-kvalitet teller; dobbel = én). Flytt som gir en uke nr. 4 avslås — også når kilden er nabo-uka. | ||
| **V5** | Volum-taket (v2: 108–110 km peak) og down-ukas tak brytes aldri ved flytting. Uke-targets endres kun av Carl i planfila, aldri av forhandleren. | ||
| **V6** | Forhandlerens virkefelt er ISO-uka. Kryssuke-flytt av harde økter = ESKALER (strukturendring, Carl-dialog) — MED UNNTAK av ±1-dags langtur/L4-justering som tilfeldigvis krysser ukegrense (søn↔man): den valideres som vanlig, men adjacency-sjekken (M1/M2) går alltid over ukegrenser uansett. |
Når H-reglene eller virkeligheten krever reduksjon og ingen lovlig flytt finnes, ryker øktene i denne rekkefølgen — aldri omvendt:
1. PM-økta av en dobbel (H2 — Frankfurt-regelen; dobbel degraderer til enkel terskel)
2. Kvalitetsøkt nr. 3 i uka (den lavest prioriterte per fase-fokus; i HM-bygget er det den som IKKE er dobbel eller L4)
3. Kvalitetsøkt nr. 2
4. Rolig volum (easy-km trimmes — men se V2: aldri som kvalitets-erstatning)
5. ALDRI automatisk: langtur, race, søvn. Disse forlater bare planen via Carl-dialog.
Styrke ofres uavhengig av denne lista (den konkurrerer ikke med løpe-km) men følger M6/M7 ved re-plassering. TOSK-øktene (man/ons 20:00 Granåsen) er sosialt ankret — de flyttes til andre DAGER kun med eksplisitt merknad i amendmenten om at fellestreningen ryker (kostnaden er reell selv når regelverket tillater flyttet).
Virkeområde-presisering: hierarkiet gjelder UKES-reduksjon (H2, sykdom, tidsklemme over flere dager). En dags-gate (H1) rammer DAGENS økt — den kan ikke «reddes» ved å ofre en annen dags økt i stedet; dagens økt flyttes hvis lovlig slot finnes, ellers droppes den.
Én amendment = én fil/blokk, selvdokumenterende, reverserbar, med regel-spor. Forhandleren genererer; Carl godkjenner; `apply_plan_amendment.py` (Opus) utfører.
```json
{
"amendment_id": "2026-W31-01",
"created": "2026-07-28T09:12:00",
"iso_week": "2026-W31",
"status": "proposed",
"reason": "tretthet_hrv",
"justified": true,
"note": "HRV 52 onsdag morgen (gult) — onsdags-TOSK flyttet til torsdag, gate-recheck torsdag",
"rule_trace": {
"checked": ["U1","U3","M1","M2","M3","M4","V1","V4"],
"verdict": "TILLAT MED VILKÅR",
"vilkar": ["HRV-gate ≥ Modifiser torsdag morgen, ellers drop m/ ny amendment"]
},
"tsb_effect": "informativ: Δ TSB søndag ≈ +1,5 (plan_whatif-kanalene; retning, ikke sekunder)",
"patch": [
{
"op": "swap_days",
"a": "2026-07-29",
"b": "2026-07-30",
"fields": ["type","label","distance_km","zone","target_hr_steady","target_hr_max","target_lactate","target_pace","decision_rule"]
}
],
"weekly_adjusts": null,
"apply_steps": [
"backup training_plan_daily.json → .bak_{ts} (eksisterende konvensjon)",
"utfør patch; skriv _chat_notat + _amended: {id} på berørte dager; bevar _original per dag",
"speil til data/plan_amendments.json[iso_week].amendments (reason/justified/note/adjusts)",
"python3 scripts/build_weekly_from_daily.py && python3 scripts/validate_plan.py (obligatorisk, feilkode = rollback)",
"kun hvis dagens dato berøres: oppdater daily_plan_overrides.json (morning brief)"
]
}
```
Op-vokabularet (komplett — Opus implementerer nøyaktig disse fem):
| op | Semantikk | Felter |
|---|---|---|
| `swap_days` | Bytt økt-innhold mellom to datoer i samme uke (date/day-feltene står) | `a`, `b`, `fields` |
| `move_session` | Flytt økt fra dato a til rolig dato b; a blir `easy` (default-km angis) eller `hvile` | `from`, `to`, `source_becomes` |
| `drop_session` | Økt → easy/hvile. KREVER `justified` + `reason` + `weekly_adjusts` (f.eks. `{"n_quality": -1, "planned_km": -14}` — nøyaktig plan_amendments-skjemaets adjusts-vokabular) | `date`, `becomes`, `weekly_adjusts` |
| `drop_pm` | Kun for `kvalitet-dobbel`: fjern PM-delen, dagen degraderer til enkel kvalitet (H2) | `date`, `weekly_adjusts` |
| `annotate` | Kun `_note`/`_chat_notat`/`decision_rule` på en dag (f.eks. H4-vilkår) — ingen strukturendring | `date`, `felter` |
Invarianter i apply-scriptet (ikke bare i forhandleren — forsvar i dybden): rører aldri dager med `_locked` eller type `race` · bevarer alle `_`-prefiksede felter det ikke eksplisitt skriver · validerer HELE regelverket på resultat-tilstanden før skriv (samme validator-modul som UI-et — én kilde, to konsumenter) · `validate_plan.py`-feil = full rollback fra .bak · amendments er append-only med stigende id (aldri rediger en applied amendment; korriger med ny).
Delta-prinsippet (kritisk for at forhandleren skal virke i praksis): valider ENDRINGEN, ikke verden. En op avslås hvis den introduserer et nytt regelbrudd eller forverrer et eksisterende; pre-eksisterende plan-brudd (jf. M2-noten om v2s HM-bygg) rapporteres som warnings uten å blokkere urelaterte ops. Uten dette prinsippet ville én kalibrerings-glipp i planen fryse all forhandling — med det blir forhandleren i tillegg en gratis plan-linter (warnings-lista er i praksis en løpende v3-sjekk).
Alle scenarier bruker den spikrede v2-planen (`training_plan_daily.json` uke 28–42, lest 06.07). Hver fasit angir utfall + regel-spor + forventet amendment-op. Bygget er godkjent når alle 10 gir eksakt disse utfallene.
Situasjon: u35 (SESONGTOPP: man 24.8 TOSK 3×3000 · ons dobbel · lør 34k L4). Mandag morgen: HRV 53 ms (Gult: kun I1), RHR 41, søvn 84.
Forespørsel: flytt mandags-TOSK til senere i uka.
Fasit: AVSLÅ alle slots → tilby `drop_session`. Tir → nabo m/ ons-dobbel (M1). Tor → nabo m/ ons-dobbel (M1). Fre → D−1 før 34k (M3). Søn → D+1 etter L4 (M2) og nabo m/ man u36-TOSK (M1 over ukegrense). Amendment: `drop_session` man 24.8 → easy ~10 km, `reason: tretthet_hrv, justified: true, adjusts: {n_quality: −1, planned_km: −5}`. Uka beholder dobbel + L4 (V4-tak irrelevant). §6-noten gjelder: dagens gate rammer dagens økt — dobbel-PM ofres IKKE i stedet.
Situasjon: u34. HRV 54 tir 18.8 OG 52 ons 19.8 (to på rad). Dobbel planlagt ons (AM 6 km LT1 · PM 10×1000).
Fasit: `drop_pm` ons 19.8 (H2: PM-økta ryker FØRST). AM-økta betinges av gate: Gult = kun I1 → AM degraderes til easy (vilkår i amendmenten). Lørdagens 32k L4 STÅR (U2 — aldri langturen). Ingen re-plassering av PM senere i uka (ville gitt V4/M1-stabling). Amendment: `reason: tretthet_hrv, justified: true, adjusts: {planned_km: −10}` (PM-delen). Rule trace: H2, U2, §6 pkt 1.
Situasjon: u34, Carl reiser lør 22.8. Forespørsel: flytt lør-32k-L4 til fre 21.8 (swap m/ fre easy 8k).
Fasit: TILLAT MED VILKÅR. M3: D−1 = tor (easy + Rodal 2 = kjerne, ikke tung underkropp — M6 ✓). M4: ons-dobbel ↔ fre-32k = Δ2 (én rolig mellom) → under Δ3-normen = vilkårs-sonen. M2: etter fre-32k → lør reise/easy, søn easy, man u35-TOSK = D+3 ✓ (flyttet FJERNER faktisk v2s pre-eksisterende D+2-spenning — noteres som bonus-warning-fix). V1: swap 32↔8, ukesum uendret ✓. Vilkår: lør+søn forblir rolige; tor-styrke må forbli kjerne (M6). Op: `swap_days` 21.8↔22.8.
Situasjon: u33, Energimila ons 12.8 (10k). Fredag 14.8 føles beina fine; forespørsel: 6×1000 lørdag 15.8.
Fasit: AVSLÅ. Lør 15.8 = D+3 → inne i immunvakta (U4/M5: kvalitet tidligst D+4 for 10k = søn 16.8; FABLE-7: sikt dag 4–5, 72 t er gulv ikke tak). Lørdagens planlagte 22k rolig langtur (kun I1) står — rolig er lov. Motforslag i avslaget: neste kvalitet = man 17.8 (u34-TOSK, D+5, allerede planlagt — ingen amendment trengs). H3-note: fine bein D+2–3 etter 10k er normalt; HRV-krateret kan fortsatt henge.
Situasjon: man 21.9, D+1 etter Kbh HM (søn 20.9). HRV −41 % vs baseline, RHR uendret (40), Body Battery −45.
Forespørsel (implisitt/automatikk): naiv gate-lesning sier «Rødt — avlys/flytt ukas økter».
Fasit: INGEN AMENDMENT. H3: −30..−45 % D+1 etter tapret race er forventet og godartet (A5-krateret) — u39 er alt immunvakt-planlagt (q=0, man = hvile). H6: uendret RHR verken friskmelder eller bekymrer (non-responder). Forhandleren genererer ingenting; G5-dempingen (OPUS-IMPL-1) viser info-linje. Bygget MÅ bestå denne: et system som foreslår endringer her har misforstått regelverket.
Situasjon: u35, travel tirsdag. Forespørsel: flytt tir-styrken (Styrke A 70 kg — tung underkropp) til fre 28.8. Lør 29.8 = 34k L4 (~08:00-start).
Fasit: AVSLÅ tung variant (M6: fre kveld → lør morgen < 36 t før langtur). Vilkårs-variant: TILLAT hvis degradert til kjerne/overkropp (innholds-endring → formelt ESKALER til Carl-dialog, forhandleren foreslår det som motforslag). Løpe-easy-km tirsdag berøres ikke (styrke og løp forhandles separat; patch-target = strength_plan.json).
Situasjon: u31, jobbreise ons–fre (29.–31.7). Ons-DOBBELEN kan ikke kjøres. Forespørsel: dropp dobbelen, legg +6 km på tor og +6 km på fre easy «så uka holder 105 km».
Fasit: flytt umulig, drop OK, kompensasjonen AVSLÅS. Flytte-sjekk: tir → nabo m/ man-TOSK (M1); lør = 30k L3 (U2/M3); søn → D+1 etter 30k+ (M2) OG nabo m/ man u32-TOSK (M1 over ukegrense) → ingen slot. `drop_session` ons m/ `reason: jobb, justified: true, adjusts: {n_quality: −1, planned_km: −11}` (19k-dag → ~8k reise-easy). +12 easy-km-kompensasjon: V2-brudd (kvalitets-km → easy-km) og utenfor V1-toleransen (±5) → avslås; maks +5 km rolig omfordeling tilbys.
Situasjon: u40, 36k-L4 lør 3.10 (T−15-ankeret). Forespørsel: flytt til søn 4.10 (gruppetur).
Fasit: enkelt-flyttet alene AVSLÅS (introduserer M2-brudd); TILLAT kun som PAKKE m/ ofring. ±1 dag er innenfor anker-regelen (T−15 → T−14 ✓, taper spises ikke). Men: søn-36k → man 5.10 u41-TOSK = D+1 (M2-brudd, NYTT). Kaskade-søk: TOSK → tir 6.10 gir D+2 (fortsatt M2-brudd); → ons 7.10 (D+3 ✓) kolliderer m/ ons-1000m-økta → 1000m → tor/fre gir M1/M3-brudd mot lør-26k-L4 (T−8-ankeret, kan ikke vike). Uka har ikke plass til 3 kvalitet + to L4-enheter m/ søndagsstart. Pakke-tilbudet (§6 pkt 2): 36k→søn + man-TOSK→ons + `drop_session` ons-1000m (`adjusts: {n_quality: −1}`) — Carl velger pakke eller beholder lørdag. Dette scenariet tester kaskade-validering over ukegrense + delta-prinsippet + hierarkiet.
Situasjon: u36 (down-uke, q=2: man TOSK + lør 28k L3/L4). Tirsdag 1.9: HRV 78, RHR 37, Carl føler seg rå. Forespørsel: legg inn 45/15-økt onsdag 2.9 (planlagt Easy 16).
Fasit: AVSLÅ (U6). Avstandene ville holdt (man-TOSK → ons = 1 rolig mellom ✓ M1; ons → lør-28k: D−1 = tor rolig... 28k <30 og M3 gjelder ikke, M1 ✓) — men down-uka ER adaptasjonen etter sesongtopp u35 (nedtrapping hver 4. uke; taper-inngang mot Kbh). Toppdag-følelse i down-uke er poenget, ikke et ledig vindu. Ingen amendment; motforslag: strides på onsdags-rolig (innhold → Carl-dialog).
Situasjon: u38 (Kbh-uka). Forespørsel A: flytt tirsdags-primeren (4×1000 lett) til onsdag 16.9. Forespørsel B: «kan vi flytte selve løpet/race-dagen i planen» (f.eks. ved startlisteendring). Forespørsel C: en vilkårlig op som rører en dag med `_locked: true`.
Fasit: A: TILLAT (planens egen lette kvalitet flyttes INNEN race-uka: ons→race Δ4, U8 dag-før-lett intakt, M1 ✓ — race-uke-vernet forbyr INNFLYTTING av nye harde økter, ikke intern justering av planens egne). B: AVSLÅ (U1) — race-dager eies av races.json/virkeligheten; endret løpsdato er en PLAN-revisjon (Carl + v3), ikke en amendment. C: AVSLÅ (U3) — U-sjekkene kjøres FØR all annen validering; låst er låst.
Bevisste avgrensninger (ikke glemsel): Forhandleren endrer aldri øktinnhold (format/drag/pace — Carl-dialog, jf. PLAN_STRUKTUR-regelen om at dagene spikres i dialog) · uke-targets og fase-grenser eies av planfila/Carl · sykdoms-retur er alltid dialog (H8) · styrke-innhold (maks 4 øvelser-regelen) håndheves ikke av forhandleren — den flytter bare hele styrkeøkter · TSB-visningen er informativ («retning, ikke sekunder» — plan_whatif-merkelappen), aldri en gate.
Åpne valg Opus kan ta uten ny design-runde: (1) validator som ren JS-modul i hub vs Python-API via `Sessions/api/` — regelverket er identisk; anbefaler delt JSON-regeldefinisjon (`data/static/negotiator_rules.json`) så UI og apply-script leser samme kilde. (2) Om `drop_pm` skal auto-foreslås av morning brief ved H2-tilstand (to svake morgener) eller kun på klikk. (3) Warnings-listas hjem (delta-prinsippets linter-output): eget kort på Plan-fanen vs stille logg. (4) `amendment_id`-sekvensering ved flere ops samme dag.
Avhengigheter: FABLE-8 (Blokkplan v3) kjører parallelt — regelverket er fase/dagstype-basert og overlever v3; T-scenarienes datoer må re-valideres mot v3-planfila FØR de brukes som byggetest hvis v3 endrer ukestrukturene (spesielt T1/T3/T8 hvis lør-L4→man-TOSK-spenningen kalibreres bort). G8s B1b-flagg (bygges i kveld) er H4-inputen. Race-uke-vernets taper-definisjon (mini-taper vs RE3 «hold uka») eies av v3.
Kjente feller-lista (spec-banken) kvittert: ingen HR-/quality.json-berøring i dette designet; TSB-referansen bruker pre-konvensjonen implisitt via plan_whatif; ingen låste filer lest for skriving.
Én-linje for konsoliderings-økta: `Running_Report_A3-Forhandlerregler_v1.md` — komplett forhandlerregelverk klart for Opus (O5): U/M/H/V-regler m/ ID-er (aldri-listen: race/_locked/langtur/immunvakt/down-uke; minimumsavstander fra FABLE-7 §3 inkl. L4-nøkkeltur-utvidelsen; HRV-interaksjon m/ Frankfurt-regelen og krater-vern; volum-invarians ±5 km m/ kvalitet-aldri-til-easy), ofrings-hierarki (dobbel-PM først, langtur/søvn aldri), delta-prinsippet (valider endringen, ikke verden — forhandleren blir gratis plan-linter), amendment-format m/ 5-ops JSON-patch mot training_plan_daily + speiling til plan_amendments + obligatorisk build_weekly_from_daily/validate_plan, og 10 testscenarier (T1–T10) med entydig fasit forankret i v2-planens faktiske uker. Ingen pipeline-filer rørt.
Dato: 2026-07-07 · Spor: OPUS-SPOR-B / B1 (O9) · Status: FORSLAG. `Coach/COACH_INSTRUCTIONS.md` er ikke endret av denne økta (unntatt athlete-kontekst-blokka fra B2/O14, som er faktaspeiling, ikke coaching-logikk). Ingenting under skrives til COACH før Carl godkjenner.
Hva dette er: Fable-vinduet (FABLE-4–21) og blokkplan v3 produserte ni coaching-relevante funn som ennå ikke er foldet inn i COACH_INSTRUCTIONS. Dokumentet foreslår hver endring som en diff (dagens ordlyd → foreslått ordlyd) med kilde, slik at Carl kan godkjenne punkt for punkt. Prinsippet er kortere og skarpere: COACH skal si regelen, ikke bevise den — beviset ligger i kilderapporten (hub → Verktøy / ⌘K).
Godkjenningsmodell: kryss av per punkt. Ved «ja» skriver en senere Opus-økt endringen inn i `Coach/COACH_INSTRUCTIONS.md` og logger i CHANGELOG. Der et punkt allerede er delvis inne (G1), er forslaget en presisering, ikke en ny regel.
| # | Tema | Kilde | Netto | Prioritet |
|---|---|---|---|---|
| D1 | Søvnregel (allerede rettet — bekreft ordlyd) | G1 / F4b | Presisering | Lav (står) |
| D2 | Taper er distanse-asymmetrisk | F5 K3 / v3 E1–E2 | Ny regel | **Høy** (race-uker nå) |
| D3 | HRV-dagflagg er distanse-avhengig | F5 K5 | Skjerper §go/no-go | **Høy** |
| D4 | Absorpsjon i tre klasser + RHR-blindsone + post-race-krater godartet | F7 §3 | Erstatter løs belastningsregel | **Høy** |
| D5 | LT2-dosen tallfestet + K6-porten | F9 §3 | Skjerper intensitetsstyring | **Høy** (dose u29–37) |
| D6 | Varme som lovlig stimulus | F4a §7 | Ny sesong-regel | Middels (ferie/varme) |
| D7 | Race-uke-gates (E-serien) | v3 E1/E2/E3/E5 | Oppdaterer race-planregler | **Høy** |
| D8 | Anti-regel: subjektiv tyngde ≠ beslutningsgrunnlag | F16 | Ny anti-regel | Middels |
| D9 | Aldri intensitet på bekostning av rolig-volum | F19 | Skjerper treningsfilosofi | **Høy** |
Dagens (COACH «Søvnscore», siste kule): G1-revisjonen er allerede inne — søvn er bekreftende markør, ikke selvstendig prediktor; reell infleksjon < 74 (~0,6 tier-poeng, CI [0,14–1,17]) = myk obs; HRV < 55 alene = ekte gate; «under 78 aldri vellykket» fjernet.
Forslag: ingen logikk-endring. Kun rydd bort den siste referansen til «78»-terskelen i eventuelle sitat-vennlige oppsummeringer, så den ikke smitter tilbake. Bekreft at ordlyden står som ønsket.
Kilde: FABLE-4b (n=340). Konfidens A.
Dagens: COACH har ingen distanse-differensiert taper-regel; «Race-planleggingsregler» (03.07) nevner taper generelt.
Forslag — legg til under «Belastningsregler»/«Race-planleggingsregler»:
> Taper etter distanse: 10k tåler — og foretrekker ofte — full treningsuke på høy plattform. Alle 10k-PB-ene kom UTEN taper (EnergiMila-25: PB på TSB −6,2 og 101,5 km siste 7 døgn; Bane-24 +2,3/89 km; Sommernatt +13/76 km). HM/M vil ha ekte nedtrapping (HM-PB-ene: Berlin +25, Trondheim-25 +17, Trondheim-23 +36). Ikke gi et 10k HM-respekt — det koster bygget uten å gi fart. Terskeldose-straffen på et 10k nulles av 2–3 lette døgn.
Kilde: FABLE-5 K3 / RE3–RE4; blokkplan v3 E1–E2. Konfidens B (n=2–3/celle, entydig retning + mekanisme).
Dagens: COACH «Race-eve-sjekk» (pkt. 3, 03.07): HRV ≤ −10 % vs baseline behandles som flagg for alle løp → sikt nedre CI.
Forslag — gjør flagget distanse-avhengig:
> Dag-før-HRV-flagg: For maraton står rådet: HRV ≤ −10 % → sikt nedre CI. For 10k/HM er dag-før-HRV uten prediksjonsverdi alene — flagget fyrte foran to av tre moderne kort-PB-er (Sommernatt-25 −25,6 % → PB; Berlin HM-26 −17,5 % → PB). På kort distanse: informasjonslinje, ikke måljustering — sjekk heller postM-vindu, vind og åpningsplan. postM- og sykdom-14d-flaggene beholdes uendret for ALLE distanser.
Kilde: FABLE-5 K5 (n=3 flagg — sårbar for neste datapunkt; fysiologisk plausibel: 38–85 min på/over LT2 er mindre autonomt-ferskhets-avhengig enn 3 t på LT1). Konfidens B/C.
Dagens: COACH «Belastningsregler» har «Aldri to harde dager på rad» + «Langtur med kvalitet = full kvalitetsøkt», men ingen tallfestet absorpsjons-kostnad, og ingen RHR-advarsel.
Forslag — legg til «Absorpsjon per økt-klasse»:
> Absorpsjons-kostnaden (dager til HRV+BB tilbake på baseline) styres av økt-klassen, ikke av score eller km:
> - Kvalitet (terskel/VO2): ~0–1 dag (52 % ingen HRV-dip) — autonomt nær gratis.
> - 30k+ langtur: 2–3 dager — grunt dip, lang hale. Er den reelle «blokk»-enheten: hold harde stimuli unna D+1/D+2 etter langtur.
> - Maraton: 4–5 dager (−31 % HRV-krater D+1). 72 t immunvakt er GULVET, ikke taket — sikt kvalitet-retur dag 4–5.
> RHR-blindsone: RHR er non-responder for Carl (beveger seg ~0 selv etter maraton). Les absorpsjon på HRV + Body Battery, aldri RHR. En «fin» RHR dagen etter en 30k+/race betyr ingenting.
> Post-race-krateret er godartet: et −30 til −45 % HRV-fall morgenen etter et godt tapret race er forventet (kroppens kvittering, A5) — dysregulerings-gaten/race-eve-flagget skal IKKE lese det som sykdom.
> Durability-flagg: en 30k+ som koster > 3 HRV-dager = dårlig absorbert (B1b-akse).
Kilde: FABLE-7 A2–A5, §3. Konfidens A (RHR non-responder), B (klasse-kostnadene).
Dagens: COACH «Intensitetsstyring»: «Lab-LT2 3:49/km HF 169 … Mål: gradvis øke andelen økter som treffer LT2 (HF 165–170, laktat 3,5–4,5).»
Forslag — erstatt «gradvis øke» med tallfestet dose:
> LT2-løftet (9 s/km @ 3,3 mmol) kom FØR Berlin-blokka; 3:49 er nå aerobt billig (< 2,7 mmol) — for lett til å flytte terskelen videre. Hoveddose-draget (I3) skal ligge der laktat = 3–3,5 mmol, dvs. 3:45–3:47; de skarpeste I3/I4-øktene 3:43–3:45 (I4-1000-metere ned mot 3:40–3:42 — kapasiteten finnes, 2025 nådde 3:38). K6-porten (operativ Kbh-prediktor): 8-ukers I3-dragsnitt ≤ 3:47 innen ~1. september — dette er porten som bør vises mot planen. Dosevindu u29–37. Lab-retest aug/sep er eneste harde sjekk på at 4-mmol-farten faktisk er ≤ 3:45.
Kilde: FABLE-9 Funn 3–4, §3. Konfidens B (2 labber + 46 in-session-punkter).
Dagens: COACH har ingen varme-regel.
Forslag — legg til under «Intensitetsstyring» eller egen «Varme»-bolk:
> Varme er et lovlig stimulus — ikke jag pace i den. På varme dager: puls < 138 på alt rolig, kvalitet kun morgen/skygge. Aksepter høyere decoupling i varmen som normalt (temp↔pace ~8 s/km per 5 °C). Én stressor av gangen — ikke legg ny hard stressor (høyde, dobbel-terskel, ny arena) oppå varme samtidig. Temp-juster EF før du dømmer en rolig økt som «dårlig».
Kilde: FABLE-4a §7. Konfidens B− (partiell adaptasjon; fasit T2.5 19.7).
Dagens: COACH «Race-planleggingsregler» (03.07) pkt. 1–4 er korrekte, men lineære («sikt nedre CI», «immunvakt 3–5 dager»). Blokkplan v3 har erstattet de lineære pacing-linjene med gates.
Forslag — oppdater pkt. 2 og legg til E-serien som referanse:
> - E1 (Energimila 12.8): INGEN mini-taper. u32 71 → ~95 km normal uke; siste fulle terskel senest fre 7.8 (T−5), langtur lør 8.8 ≤ 28 km rolig (halen skal ikke inn i race-vinduet).
> - E2 (Kbh HM 20.9): EKTE taper — Berlin-malen som fasit: TSB-pre +20…+25, ATL/CTL-fall ~5:1, søvn ≥ 8 t race-eve. (S3: taper-repetisjon = 0,5–1 s/km gratis fart hvis den gjentas.)
> - E3 (u39): immunvakt-planlagt, null kvalitet. HRV −30…−45 % man 21.9 er A5-krateret (godartet), ikke sykdom; full autonom klarering 4–5 d.
> - E5: race-uke-gates erstatter lineære pacing-linjer — maraton: fase-plan med gates km 5/25/35, GI-protokoll, vindsone-regel (all maraton-tid lekker km 35–40, kollapsen er binær og synlig live på steglengde+HR).
Kilde: Blokkplan-Amsterdam v3 E1/E2/E3/E5; FABLE-5 §5/§6, FABLE-6 §3, FABLE-7 A3/A5. Konfidens B.
Dagens: COACH ber eksplisitt om Carls subjektive («tunge/råtne bein», «ok minus») og vekter RPE i score — riktig for øktvurdering. Men det finnes ingen regel mot å la tyngde-språk styre race-/kvalitets-beslutninger.
Forslag — legg til under «Viktige coaching-prinsipper»:
> Anti-regel (F16): Subjektiv tyngde/uro i tekst siste uke før løp er IKKE beslutningsgrunnlag — historikken viser null prediktiv verdi (Barcelona-22 «dette går dårlig» → PB; Kbh-24), og en språk-gate ville kostet PB-er. Bruk subjektivt til øktforståelse og RPE-score, ikke til å avlyse/nedjustere et løp. Eneste språk-trigger med verdi: eksplisitt sykdomsord (forkjøl\*/tett/hals/hoste/feber/🤧) i ny Strava-desc → én informasjonslinje, aldri en gate alene. (Speiler D3-lærdommen for HRV på kortdistanse.)
Kilde: FABLE-16 (prekommittert + blindkodet, 7 års språk). Konfidens A på null-funnet.
Dagens: COACH «Treningsfilosofi»: «Polarisert ~75/15/10; kontinuitet > enkeltøkter.» Riktig, men sier ikke hvilken spak som bygger nivå.
Forslag — legg til:
> Volum er makrospaken (F19). Carl er volum-responder på aksen som transfererer til racefart (`aerob@128` sporer akkumulert volum r ≈ −0,87; treg spak ~26 uker). Terskel er en rask, men nær-tak skjerpe-spak (~4–8 u); dobbel-terskel virker KUN på høy base. Regel: aldri intensitet på bekostning av rolig-volum. 2:45-motoren krever terskel-skjerpingen (D5) OPPÅ en vernet volum-base, ikke i stedet for den. 4×4/kort-VO2/bakke er uprøvd for Carl → ren test i vinter-basen, ikke sein-blokk-eksperiment.
Kilde: FABLE-19 (uavhengig kanal, replikert innen-æra + fremtidsrettet). Konfidens B+.
Ikke funn, men O9-oppdraget ba om innstramming. Kandidater (Carl avgjør):
Netto mål: en frisk sesjon skal kunne lese COACH på < 10 min og ha alle reglene, med dybden ett klikk unna.
Én linje til konsolideringen: `Running_Report_COACH-v2-Forslag_v1.md` — ni foldbare COACH-endringer (D1–D9) med diff + kilde + konfidens; COACH_INSTRUCTIONS urørt (coaching-logikk), venter på Carls punkt-for-punkt-godkjenning. Athlete-kontekst-speilingen (B2/O14) er allerede skrevet inn separat.
FABLE-17 · skrevet 2026-07-07 · v2 erstatter v1 samme dag: F15 (Infeksjonsvinduene) og F16 (Subjektiv-signal) er nå kjørt, og v1s to største åpne avhengigheter er foldet inn (immun-aksen i §2/§3/§5/§6, språk-nullet i §3/§6, oppdatert ærlighetsnotat §7). v1 beholdt for sporbarhet. Kilder: `training_blocks.json` (LÅST) · `races.json` · `activities.json`/`quality.json` (665 økter) · `training_load.json` · `zones.json` · ankere: Tverrmaraton-Syntesen (nivåbanen + oppskriften) og LT2-Motoren (F9); nå også Infeksjonsvinduene (F15) og Subjektiv-Signal (F16), med støtte i F5/F6/F7 og Sammendrag v2. Alt read-only; kun denne fila er skrevet.
Ramme (uendret): era-konfundering dominerer — 2024–26 er bedre på nesten alt samtidig, n per era-overgang er 1. Dette er konsolidering og langsiktslærdom, ikke høst-operativt. Alt operativt for Energimila/Kbh/Amsterdam bor i Blokkplan v3 og røres ikke her. F15s immunvakt-regler og F16s brief-forslag er også operative og bor i sine egne rapporter — her tas de bare inn som era-lærdom.
Reisen 3:30→2:53 er ikke én historie, men fire mekanismer som avløste hverandre da den forrige var uttømt: (1) volumtrappa 14→50→61→80–84 km/u bygde plattformen — intet sub-3 under 85 km/u i blokk / CTL 106; (2) TOSK-effekten (fra nov 2022) leverte terskelkvalitet og pacing-tog på race-dagen — fade-serien går fra +5,1 % til ≤±0,7 % i tog; (3) dobbel-terskel/LT2-motoren flyttet terskelfarten ~3:55→3:44 og gjorde 3:49 aerobt billig; (4) realiserings-disiplinen (2025–26) — det som gjenstod da dose sluttet å diskriminere. Hvert platå ble brutt av neste mekanisme, aldri av mer av den forrige.
v2 legger til den femte tråden som løper under hele fortellingen: infeksjonskosten. Den er systemets dyreste tapskilde, den vokser i synlighet med dokumentasjonen (Paris-23 11 sykedager → Frankfurt-25 7 → Berlin HM-26 to post-race-infeksjoner), og F15 viser at den er wellness-stille — flu-B PCR+ var nær usynlig for detektoren, begge Berlin-infeksjonene kom uten prodrom. Immunvakt kan derfor ikke være HRV-utløst; den må være profylaktisk og kalenderstyrt. Og F16 lukker en hel klasse spekulasjon: over sju år og en beskrivelsesrate som gikk 0→97 %, leder Carls egne ord ingenting — ikke sykdom, ikke sprekk, ikke PB. Systemets verdi lå aldri i å fange atletens intuisjon. For 2027 sier banen: volum som spak er brukt opp, motoren og realiseringen (nå inkludert immun-vernet) er spakene som gjenstår, og 2:45-motoren (~1:19:08 HM / 35:52 10k — sistnevnte er dagens Energimila-prediksjon) er under bygging nå.
PB-status ved årsslutt (offisielle tider; Nidaros-22 (9,6 km målt) utelatt som kort-målt):
| År | 10k | HM | Maraton | km/år | km/u | Peak CTL | LT2-anker (æra) | Definerende |
|---|---|---|---|---|---|---|---|---|
| 2019 | — | 1:44:42 | — | 758 | 15 | 69 | — (pre-soner) | Første HM (sep). Grunnmuren. |
| 2020 | 42:07 | 1:35:36 | — | 2 136 | 41 | 77 | 4:25 | Covid-solo-løp; −9 min på HM på ett år. |
| 2021 | 42:07 | 1:33:45 | 3:30:07 | 2 529 | 49 | 92 | 4:15 | Maraton-debut, alt brukt (HR 188/190). |
| 2022 | 42:07 | 1:29:16 | 3:14:23 | 2 616 | 50 | 96 | 4:05 | Tre maraton på ett år; første TOSK-økt (nov). |
| 2023 | 39:26 | 1:27:49 | 3:09:02 | 3 178 | 61 | 104 | ≈4:00 (proxy-brudd fra 4:20) | Volumtrapp; NY −3,2 % — dose uten utførelse; Paris 11 sykedager. |
| 2024 | 38:38 | (ikke løpt) | **2:56:37** | 4 170 | 80 | **115** | 3:57 @4 mmol lab (mars) | Plattform-året: 85 TOSK, første sub-3, tre M. |
| 2025 | **37:24** | 1:24:24 | **2:53:06** | 4 357 | 84 | 106 | 3:44 in-session (feb) | London-kollaps + Frankfurt-PB (negativ split) + 7 sykedager. |
| 2026 (per 7.7) | — | **1:21:19** | — | 2 095 | ~77 | 95 | 3:49 @3,3 mmol lab (feb) | Mølle-vinteren → HM −3:05; VO2maks 61,7; to post-race-infeksjoner. |
Tre avlesninger: (1) maraton-stegene følger volum-stegene med ~ett års lag (61→80 km/u ga 3:09→2:56); (2) HM-hoppene kommer i terskel-fasene (−4:29 med TOSK-inngangen; −3:25 + −3:05 med dobbel-terskel/mølle 2025–26); (3) 10k-en er den jevneste banen — motoren, ikke arrangementet. En fjerde, ny i v2: hver moden æra bærer en infeksjonsregning (siste kolonne fra 2023) — den er ikke støy, den er en systematisk kostnad F15 nå har karakterisert.
E1 · 2019–2020: Grunnmuren. 758 km blir 2 136; første HM 1:44:42 → 1:35:36 på 14 måneder. Covid-året er solo-løp med egen tidtaking, pre-sone-æra (LT ukjent). Lærdommen som overlever: nybegynner-responsen på rent volum var enorm og billig.
E2 · 2021–2022: Maraton-læretiden på volumplatå. km/u står nesten stille (49→50), men maratontiden faller 3:30→3:14 gjennom fire løp på 15 måneder — racecraft-læring, ikke kapasitet. Feilene er lærebok: Oslo «knakk i siste bakken» (fade +5,1 %), Valencia «for hardt ut» (−1,9 %). Val-22-blokka var cappet til 11 uker av Oslo — PB likevel, første hint om at året er enheten, ikke blokka. 5.11.2022: første TOSK-økt (HM 1:29:16) — materialets viktigste enkelt-dato utenom race-dagene.
E3 · 2023: Volumtrappa — dose uten utførelse, og infeksjonskostens første regning. 2 616→3 178 km (+21 %), CTL 96→104, TOSK 1→19 økter, LT2-proxyens første brudd (4:20→4:00). Men era-ens to maraton viser gapet: Paris ødelagt av 11 sykedager (systemets dyreste tapskilde demonstrert første gang — F15 gjenkjenner den milde post-Paris-perioden 10.4.23 som sannsynlig «open window»-infeksjon), og NY −3,2 % med materialets dårligste langtur-utførelse på høyeste dose til da. 2023 fødte P4-regelen (plattform uten utførelse realiseres ikke) — den ble bare ikke formulert før 2026.
E4 · 2024: Plattform-året. Spranget: 61→80 km/u, peak CTL 115 (all-time), 85 TOSK-økter, første dobbel-terskel-fase (12 dobbel-dager; første 17.12.2023), tre maraton — Kbh 2:59:11 (første sub-3, i TOSK-tog på 4:15), Berlin 2:59:34 (mageknip km 27–30 — realiserings-risikoen viser seg), Valencia 2:56:37 (PB på 8,9-ukers cappet blokk). Lab-LT2 mars: 3:57 @ 4 mmol. Og — synlig først i ettertid via in-session-laktaten (F9 Funn 1) — det store LT2-løftet (~3:55→3:44) skjedde her og inn i tidlig 2025, drevet av volum + dobbel-terskel, ikke av noen enkelt magisk blokk.
E5 · 2025: Realiserings-året — begge retninger. Volumet flater (84 km/u), og året viser at over plattform-terskelen avgjør dagen: London 3:19:12 (+18,4 % fade, dagsform-kollaps ingen KPI varslet — fortsatt ulukket) mot Frankfurt 2:53:06 (negativ split, siste km raskest, 7 sykedager i blokka). EnergiMila 37:24 og Trondheim HM 1:24:24 kvitterer motoren. Infeksjonsregningen er også her, og F15 gir den navn: den severe perioden 27.10.25 (+1 d etter Frankfurt, 10 dagers hale) er nå foreslått re-typet fra «uavklart» til infection (konfidens B) — «Frankfurt kostet 7 sykedager» får et ærlig navn, og bekreftet-infeksjon-tellingen løftes fra 2 til 3. Frankfurt-blokka er samtidig volum-takets empiriske funn: >90–95 km/u kjøpte sykdom, ikke målbar fart.
E6 · 2025/26: Mølle-vinteren — konsoliderings-æraen. Bakken-basen nov–des 2025 (10 dobbel-dager på 8,7 uker) rett inn i Berlin-HM-bygget jan–mar (89,6 km/u, 124 I3-drag @ 3:52), med 19 mølle-kvalitetsøkter nov–mar, det høyeste i materialet (de fire foregående vintrene: 7–14). Resultat: 1:21:19 (−3:05 på seks måneder), løpt på lab-LT2 i 80 minutter; lab-kvitteringen 24.02: LT2 3:49 @ 3,3 mmol, VO2maks 61,7, 3:49 nå <2,7 mmol. Prisen, nå karakterisert av F15: den kliniske episoden rett etter Berlin HM (detektert som to perioder, 30.3–2.4 og 6.4–20.4) var systemets tydeligste infeksjonssignatur — og likevel wellness-stille før den slo til (HRV normal/høy dagen før løpet, 0/2 prodrom). F16 bekrefter fra språksiden: PB-teksten «Melder sub 1:20 til Køben 💪» sto dagen før — kroppen gikk til sengs på under 48 timer uten språklig eller autonomt forvarsel. 2026 er også året systemet selv ble treneren (pipeline, modell-LOO 1,27 % T-14, gates) — og med F15/F16 fikk analyselaget kartlagt sine to siste blinde flekker: immun-aksen og den subjektive kanalen.
M1 — Volumplattformen (2023–24) er største enkeltforklaring på maraton-banen. Skarpt brudd, aldri krysset: intet sub-3 under 85 km/u / CTL 106 (Tverrmaraton F1, r=+0,92). Men mekanismen er terskel-formet: over plattformen slutter dose å forklare utfall (Kbh hadde 3× Frankfurts drag og løp 6 min saktere).
M2 — TOSK-effekten er dobbel, og halvparten undervurdert. Treningssiden (1→19→85 økter/år) er synlig i kval-km-trappa. Race-siden er målbar alene: alle fire tog-disponerte løp har fade ≤+1,7 %; alt før første tog spenner +2,0…+5,1 %. Pacing-disiplin ble outsourcet til en mekanisme, ikke modnet fram. Første TOSK-økt (nov 2022) deler materialet.
M3 — LT2-motoren er broen fra sub-3 til 2:53 — bygd før den ble brukt. Løftet ~3:55→3:44 (matchet laktat: 9 s/km @3,3 mmol) daterer seg til 2024→tidlig 2025; Berlin-HM-blokka konsoliderte (senket laktat-ved-fart) mer enn den flyttet (F9 Funn 1). Aerob effektivitet er samme historie på race-flaten: Kbh 2:59 på HR 172,8 (over LT2) mot Frankfurt 2:53 på HR 161,9 (I3) — hele 2:59→2:53-steget er effektivitet, ikke tak.
M4 — Realiserings-disiplinen er det som gjenstod, og den er yngst (2025–26) — nå med immun-aksen kartlagt. Fylling øvd → Frankfurt rent der Berlin nesten røk (F6); taper-asymmetrien funnet (F5); race-eve-flaggene validert (F7/Tverrmaraton R5); absorpsjonsklassene kvantifisert (F7). v2s tilføyelse: F15 gir realiseringen en fjerde søyle — immun-vernet — og den snur en intuisjon på hodet. Fordi infeksjonene er wellness-stille (flu-B PCR+ nær usynlig, 0/2 prodrom, RHR non-responder, CRP), kan immunvakta ikke vente på et signal: den må være profylaktisk og kalenderstyrt (søvn, fylling, eksponeringsvern race-eve→D+10), og «frisk» kan aldri krysses av på RHR eller CRP — kun på symptomer + varighet. F16 lukker den siste kandidat-kanalen: språket leder ingenting, så det finnes ingen subjektiv tidlig-varsling å bygge på heller. Realiseringen flytter ikke nivået — den beskytter det, og v2 gjør beskyttelseslaget komplett: tall + kalender + symptomer, aldri atletens ord eller RHR. London-dagsformen er restrisikoen som fortsatt gjenstår ulukket.
Det som IKKE flyttet nivået (validert negativt, viktig for 2027): kvalitets-km over ~25/u (London hadde materialets høyeste — dårligst utfall) · dype tapere (+49/+54 kostet 15 CTL uten gevinst) · MP-km uten utførelse (NY: 171 MP-km, −3,2 %) · volum over ~95 km/u (Frankfurt: 7 sykedager) · vekt/HRV/søvn som prediksjons-features · og nå: subjektivt tekstsignal som ledende indikator (F16 — robust null; en språk-gate ville kostet PB-er, jf. Barcelona-22 «dette kommer til å gå dårlig» → PB, og Kbh-24s hele spekter uka før sub-3).
| Platå | Periode | Nivå som stod | Det som brøt det |
|---|---|---|---|
| Volum #1 | 2021–22 (49–50 km/u) | M ~3:14–3:20, høy varians | Volumtrappa 2023 (+21 %) |
| Utførelse | 2023 (CTL 104, dose OK) | NY −3,2 % tross dose | TOSK-integrasjon + langtur-disiplin 2024 |
| HM | sep 2023 → sep 2025 (1:27:49) | (delvis kunstig — HM ikke løpt i 2024) | Terskel-fasene: −3:25 (2025), −3:05 (mølle-vinteren) |
| Maraton-steg | 2024→25: −2:34, −3:31 (mot −9:51 i 2024) | Stegene krymper mot Riegel-modenhet | Effektivitet (M3) — ikke mer dose |
| Volum #2 (taket) | 2025 (98 km/u forsøkt) | Sykdom, ikke fart | Ikke brutt — **akseptert** som tak (85–95) |
| LT2-proxy 2026 | Q1–Q2 (3:52→3:55) | Base-artefakt, ikke regresjon (F9 §4) | Sein-blokk-dosen u29–37 (3:49→3:45-drag) — pågår |
Mønsteret: hvert platå ble brutt av en ny mekanisme, aldri av mer av den forrige. Det er syntesens viktigste enkelt-lærdom, og den peker direkte på 2027-spørsmålet: hvilken mekanisme er den neste? F15/F16 skjerper svaret negativt — det er ikke en subjektiv-signal-gate (null) og ikke mer volum (taket); det ligger i motor (3:45-terskel), durability × utførelse, og friske uker vernet av et kalenderstyrt immun-lag.
Riegel-krysningen (Tverrmaraton §4) skjedde mellom NY-23 og Kbh-24: siden da er maratontiden ≈ 10k-Riegel-1,06 — et modenhets-sertifikat betinget på langtur-plattformen. Kortdistanse-nivået i dag setter maraton-taket: Berlin HM 1:21:19 → Riegel-1,06 ≈ 2:49:30; modellens Amsterdam 2:47:56 priser i tillegg inn LT2-banen. Motsatt vei: 2:45:00 krever ~1:19:08 HM / 35:52 10k — det siste er på sekundet dagens Energimila-prediksjon. Banen sier ikke at 2:45 er neste steg; den sier at motoren for 2:45 er under bygging nå, og at Energimila/Kbh er sertifikat-testene.
Alderslinjen (42 om ti dager): HRmax-konvensjonen faller ~1 slag/år, VO2maks 61,7 ved 41,6 er en betydelig reserve (maraton-nivået bruker den ikke opp — gapet er durability/effektivitet, ikke tak). Ingenting i materialet viser aldersbrems i farten ennå. Men v2 kan nå peke presist på hvor aldringen faktisk vil bite først: restitusjon og immunforsvar, ikke VO2. F15 gjør dette konkret — race er en 4–5-dagers absorpsjonsenhet (F7), infeksjons-susceptibiliteten løper ~7–10 d post-race. Restitusjon og immunforsvar (ikke fart) blir trolig den bindende beskrankningen med alderen. Praktisk arkitektur-konsekvens: planlegg 2027 for at restitusjons- og immun-kapasitet, ikke fart, blir den bindende beskrankningen — og at immun-vernet må være bygget inn i race-ukene fra kalenderen, ikke improvisert på signal.
Ikke en plan (den lages etter Amsterdam, med fasiten i hånda) — men era-lærdommene, nå komplette etter F15/F16, gir arkitektur-prinsipper og tre kandidat-former.
Prinsipper banen har betalt for:
1. Vinteren er motor-fabrikken — men den er også virussesong. Begge store terskel-løft kom i vinter-konsolidering (2024-vintrene, mølle-vinteren 2025/26). En Bakken-base (dobbel-terskel hver 3.–4. uke, mølla som verktøy, ingen vår-maraton å taper mot) bør være fast inventar. F15-forbeholdet: mølle-vinterens motor-gevinst kom sammen med post-Berlin-infeksjonen — vinter-motoren og eksponeringsvernet må planlegges i samme åndedrag.
2. Volumet er en plattform som vedlikeholdes (85–95 km/u i bygg), ikke en spak som økes. Neste nivå kjøpes i terskelfart (3:45-drag), MP-durability × P4-utførelse, og friske uker — nå med et konkret immun-lag (F15) som en del av «friske uker».
3. Året er enheten. Begge cappede blokker (Val-22, Val-24) ga PB på høy base — rekkefølgen base→bygg betyr mer enn blokklengden. A-målet kan legges der logistikk/vær er best (alle maraton-PB-ene ligger på 7–12 °C racesnitt — velg kaldt, uavhengig av kalendermåned).
4. Vår-slottet er testbane, ikke A-mål. Vår-HM/10k som motor-sertifikat (Berlin HM-modellen) ga mer per risiko-krone enn vår-maraton. Svak n, era-konfundert — men det er mønsteret.
Tre kandidat-former (avgjøres av Amsterdam-fasiten):
Felles for alle tre: vinter-basen 2026/27 er ikke-forhandlbar, og immun-vernet (F15) bygges inn i hver race-uke fra kalenderen — begge er de best dokumenterte investeringene i materialet.
Era-konfunderingen er total og kan ikke regnes bort: 2024–26 er bedre på volum, kvalitet, gruppe, disiplin, utstyr, kunnskap og verktøy samtidig; mekanisme-attribusjonen i §3 er informert fortelling med skarpe brudd som støtte, ikke kausal identifikasjon. Sone-æraene er inkonsistente før 2023; alle pre-2023-intensitetstall er retningsindikatorer. Laktat finnes ikke før feb 2024 — LT2-banen 2019–23 er proxy-only. PB-tabellen (§1) blander løpsår og formår (HM ikke løpt i 2024); Val-24 føres 2:56:37 per Tverrmaraton-fasiten. Riegel-regnestykkene bruker eksakt 1,06-formel.
Uendret fra v1: §6 ekstrapolerer forbi materialet — ingen løp er løpt på 4:01/km, aldersbrems er antatt-kommende men uobservert, vår/høst-asymmetrien hviler på n=4 vår-maraton hvorav to hadde uavhengige forklaringer. Den viktigste avhengigheten i v1 (F15/F16 ukjørt) er nå lukket, og dette er den reviderte lesningen — men den arver kilderapportenes n-svakhet, ikke omgår den. Konsolidering (hub-kort, CHANGELOG, TODO-kryss) gjøres i egen økt per parallellprotokollen — ikke her.
Dato: 2026-07-07 (oppdatert etter Runde A) · Erstatter v1/v2 (arkivert). Dekker HELE vinduet: økt 1–3, FABLE-4–11, 15/16/17, Runde A (18–21) + fiksene 07.07 og plandossieret. Kartet — terrenget bor i kilderapportene (hub → Verktøy, ⌘K).
1. Sub-2:50-plattformen er bygd, reglene kjent — ≥85 km/u + CTL 106+; P4-porten (utførelse, ikke dose) skiller NY-23 fra sub-3-laget. (økt 2)
2. All maraton-tid lekker i km 35–40; kollaps er binær (hendelse vs brudd — skillbare live på steglengde+HR). London var synlig fra km 2 → km 5-gate. (F6)
3. Åpningskilometeren er kortdistansens sterkeste diskriminator; Nidaros-25 = postM × vind × åpning, ikke dagsform. (F5)
4. Taper er distanse-asymmetrisk: 10k-PB uten taper, HM-PB med → E1: Energimila-taperen skrotet. (F5→F8)
5. Absorpsjon i tre klasser: kvalitet ~0–1 d (autonomt gratis), 30k+ 2–3 d, maraton 4–5 d; RHR er non-responder; post-race-krateret er godartet. (F7)
6. Søvnregelen «<78 aldri vellykket» var feil og er FJERNET (G1 utført); søvn = HRV-proxy, <74 = myk obs, HRV<55 = ekte gate. (F4b)
7. Italia ga partiell varme-adaptasjon (B−), fasit ved T2.5 19.7; mulig gratis form-vindu u30. (F4a)
8. LT2-løftet (9 s/km @3,3 mmol) kom FØR Berlin-blokka; 3:49 er nå aerobt billig → terskel flyttes på 3:45–3:47-drag; K6-port: I3-dragsnitt ≤3:47 innen ~1.9. (F9)
9. HRV-dagflagget gjelder maraton, ikke kort distanse (2/3 flagg foran PB-er) → G2. (F5)
10. Blokkplan v3 + A3-regelverk + plandossier: hele planapparatet er samlet og forhandlingsklart (dialog 08.07). (F8/F10/dossier)
11. Infeksjonene er WELLNESS-STILLE (flu-B PCR+ nær usynlig; 0/2 prodrom) → immunvakt må være profylaktisk/kalenderstyrt, aldri HRV-utløst; vernet varer til D+10, ikke D+3. (F15, konfidens A)
12. Hjemme-30k+ åpner infeksjonsdøra i 15 % — uten reise (universell open-window, ikke medisin); A-race dobler frekvens og varighet. (F15, revidert)
13. Ordene dine leder INGENTING — robust, prekommittert null (sykdom, sprekk, PB: alle testene negative; Barcelona-«dette går dårlig»→PB er kronvitnet). Eneste språk-verdi: eksplisitt sykdomsord fanger milde infeksjoner detektoren ikke ser (11/14 utenfor periodene). (F16)
14. Sju år = fire mekanismer som avløste hverandre (volum → TOSK → LT2-motor → realisering) + en femte tråd: infeksjonskosten. Hvert platå ble brutt av NESTE mekanisme, aldri mer av forrige. Volum-taket (~95) er akseptert, ikke brutt. (F17)
15. 2:45-motoren er under bygging nå (krever ~1:19:08 HM / 35:52 10k = dagens Energimila-prediksjon); alderen vil bite restitusjon/immun først, ikke VO2. 2027-arkitektur: tre kandidat-former (A gjenta / B fler-maraton / C motor-år), avgjøres av Amsterdam-fasiten; vinter-basen + kalenderstyrt immun-vern er ikke-forhandlbare. (F17)
16. AG%-banen stiger fortsatt på alle distanser (10k 75,1 · HM 75,9 · M 74,7, steg +2–3,7 poeng/PB) — ingen avmatning; motoren ligger foran maratonen (HM → Riegel 2:49:32: sub-2:50 ligger alt i beina); 2:45 ≈ 2028–29 (44–45 år) ved dagens stigning; maraton-PB-vinduet topper SIST (durability bygges ennå). Lab-retesten aug/sep er viktigste enkeltdatapunkt. (F18)
17. Du er volum-responder på aksen som betyr mest (aerob@128 sporer volum; treg spak ~26 u) — terskel/dobbel er raske høybase-skjerpere (~4–8 u), dobbel-terskel virker KUN på høy base; 4×4/kort-VO2 er uprøvd → ren test i vinter-basen. Regel: aldri intensitet på bekostning av rolig-volum. (F19)
18. Kontinuiteten din brytes av kalender og virus, nesten aldri av kropp (ETT skade-avbrudd på 7,5 år); kostnad = timing × varighet (4 infeksjonsdager i byggefase rev to måneder; 21 spredte dager i 2025 var ≈ gratis); friskeste år = beste år; peak-CTL er disponibel. Invester i fravær av dyre avbrudd, ikke i en ratio. (F20)
19. Søvnarkitekturen er en HRV-proxy — NULL selvstendig signal (lukker spekulasjonen, ingen ny regel); race-eve-frykten avkreftet: natten før løp ligger på baseline — det er T−2-reisenatten som er kort, og Frankfurt-PB kom likevel. Arkitekturens rolle er sykdomsdeteksjon (brukes alt). (F21)
| # | Beslutning | Kilde |
|---|---|---|
| C1 | **Re-typing-køen:** 2025-10-27 → infection (B) + 6 øvrige forslag (C) — bekreft, så oppdateres illness_classification | F15 §3 |
| C3 | **Plan-dialogen 08.07** (Opus) — dossieret er grunnlaget; race-uke-hygiene (søvn/fylling) tas inn i race-ukene | Dossier |
| C4 | **Race-portefølje (F22):** Praha HM 3.4.27 = 2027-sertifikatet (strek 1:19:08); Genève M 9.5.27 = realiserings-løp T−5u etter Praha (sikt 2:48–2:52, aldri 2:45 der) — bekreft rollefordelingen | F22 |
| C5 | **Biomarkører (F23 v2):** retest 21.07 = respons-sjekk på jern/D3/omega-3 (startet 28.04); måler mot carl.json-mål (ferritin 100/150, D 75, Hb 14,5) | F23 v2 |
⏳ OPUS-IMPL-1 — FORTSATT IKKE KJØRT (G2–G5, G8, OPPSKRIFT-2, O2 + SNAP-1b pkt. 8) — perfekt jobb for token-ventetiden (Opus-kvote er separat). · Opus-køen ellers: O7 mappe-reorg · O8 kortdistanse-telemetri · O9 COACH-v2 (+ F16-antiregel + F19-volumvern-regelen) · O10 sko · O13 illness_language_log + A4-brief-linje. · O1 varme del 2 etter 17.7. · ✓ Runde A FERDIG (funn 16–19 over). · Runde B klar (~90 min, tokens): FABLE-22 Race-portefølje 2027–30 (fastpunkter: Praha HM 3.4.27 · Genève M 9.5.27; leser F18) · 23 Biomarkør · 24 Miljø-atlas · 25 Biomekanikk. · Plan-dialogen (Opus, 08.07): dossieret klart; IV1–IV5 + F19-regelen tas inn der.
| Hva | Før vinduet | Nå |
|---|---|---|
| Modell-LOO (alle/T-14) | 1,97 / 1,59 % | **1,53 / 1,27 %** |
| Race-dashboards | 29/33 | **33/33** |
| Immunvakt-doktrine | HRV-reaktiv, 72 t | **kalenderstyrt, D+10, IV1–IV5** |
| Subjektiv kanal | uutforsket spekulasjon | **lukket som null** (+ A4-typing-verdi) |
| LT2-forståelse | «Berlin-blokka flyttet den» | **løftet kom 2024→tidlig-25; 3:49 er billig; dose-mål u29–37 definert** |
| Coaching-regler | søvn<78-regel (feil) | **G1 rettet; O9-revisjon spec-et** |
| Planapparatet | fragmentert (4+ kilder) | **v3 + dossier + målbilde: ett sted per rolle** |
| Pipeline-feil funnet i vinduet | — | **git-lås (fikset) · score-orden (fikset) · snapshot-kontaminering (fikset)** |
| Langsiktshorisont | udefinert | **2:45-motor målsatt · 2027-former A/B/C · Praha/Genève fastpunkter** |
Hva dette er: ett dokument som samler seks dager med endringer — maskineri, innsikter og det som gjenstår — for deg som var ute av detaljene mens det skjedde. Bredere enn Sammendrag v3 (som kun dekker analysene). Kilderapportene ligger på hub → Verktøy (⌘K); dette er kartet, ikke terrenget.
> Leser du bare én linje: de to stille feilene som ga deg gale tall om morgenen — feilskåret ny økt og kontaminert beredskap på reisedager — er begge lukket. Morgenbriefen kan nå leses rett på første sync.
| Endring | Hva ble gjort | Hva det betyr for deg |
|---|---|---|
| **Score-orden (steg 7a)** | Ny økt ble skåret på `hr_avg`-fallback før streamen var inne (6,7), og re-skåret til 8,0 ved neste sync. Repstats re-synkes nå etter stream-fetch. | Øktskåren i brief/status er riktig på **første** sync — ikke feil i 12 timer og selvhelet i det stille. |
| **SNAP-1/1b** | Post-økt-snapshot (ferie/reise: TR 55 var målt etter økta) flagges nå `post_activity`. Beredskap bruker gårsdagens TR ved kontaminert snapshot. | Beredskaps-skåren lyver ikke på reisedager der du løper før døgnets første sync. HRV/RHR/søvn er nattverdier, uendret. |
| **Git-lås rotfiks** | En forlatt `HEAD.lock` fra en sandbox-økt blokkerte sync i to døgn. `backup.py` rydder nå stale HEAD/refs-locks (60 s-vern); ny regel: Claude-økter kjører aldri git. | Sync stopper ikke lenger på låsefiler den ikke selv laget. |
| **RACE-1 lukket** | De fire gamle løpene (THM-19, solo-HM-20, skogsmaraton-21, Nidaros-25) fikk dashboards → **33/33** (var 29/33). Streamene lå i rådumpene hele tiden. | Alle løp søkbare på Racer-fanen/⌘K. Datalaget ble komplett — det er dette som muliggjorde tverr-analysene (F5/F6). |
| **B2 vind** | Presis tidsvektet race-vind kvantifisert (β +0,0220, ~0,12 pp LOO). Kvadratisk form testet, forkastet — hele gevinsten bodde i de 2 løpene >6 m/s. | Prognosen priser vind riktigere. Ingen atferdsendring; re-testes når neste vindløp lander. |
| **B6 residual-logging** | Ekskluderte løp (parkrun/testløp, effort_b) predikeres med full modell og logges som `excluded_residuals`. | Framtidige testløp blir automatiske overvåkningspunkter for modelldrift — uten å koste et A-løp. |
| **KLASS-2 språk** | Gaten heter nå «dysregulering (stress/sykdom)», ikke «sykdom». Race-eve-flagget skiller infeksjon/uavklart (hardt) fra ren stress (mild linje). | Prediksjon/brief roper ikke lenger «6 sykdomsdager (Paris/Frankfurt)» på seks stressdager. |
| **G1 søvnregel fjernet** | «Søvnscore <78 = aldri vellykket kvalitet» motbevist (n=340) og strøket fra COACH_INSTRUCTIONS. Erstattet: HRV-basert gate (<74 = myk obs; abort HRV<55 alene). | Du frarådes ikke lenger kvalitet på en natt med søvn 76 og god HRV. Første empirisk motbeviste coaching-regel som er ryddet. |
Netto på modellen: LOO 1,97 → 1,53 % (T-14 1,59 → 1,27 %).
> Leser du bare én linje: sub-2:50 ligger alt i beina (Berlin HM 1:21:19 → Riegel 2:49:32). Gapet er realisering — pacing, immunvern, fueling — ikke motor. 2:45 er en 2028–29-sak (alder 44–45), ikke nå.
Motoren er der, realiseringen gjenstår. Sju år (3:30→2:53) var fire mekanismer som avløste hverandre: volumtrapp → TOSK → LT2-motor → realisering. Hvert platå ble brutt av den neste mekanismen, aldri mer av den forrige. Volum-taket (~95 km/u) er akseptert, ikke brutt. AG% stiger fortsatt på alle distanser (10k 75,1 · HM 75,9 · M 74,7) — ingen avmatning. Energimila 12.8 er go/no-go-sjekkpunktet: 36:57-streken = sub-2:50-Riegel. (F17/F18)
Terskel flyttes videre på 3:45–3:47-drag, ikke 3:49. LT2-løftet (9 s/km @ 3,3 mmol) kom før Berlin-blokka; 3:49 er nå aerobt billig (<2,7 mmol). K6-porten: 8-ukers I3-dragsnitt ≤3:47 innen ~1.9 = direkte Kbh-prediktor. (F9)
Rolig-volum er hellig. Du er volum-responder på aksen som betyr mest (aerob@128, treg spak ~26 u). Terskel/dobbel er raske skjerpere (~4–8 u) men virker kun på høy base. Regelen: aldri intensitet på bekostning av rolig-volum. 4×4/kort-VO2 er uprøvd → ren test i vinter-basen 26/27. (F19)
Immunvernet må være kalenderstyrt, ikke HRV-utløst. Infeksjonene er wellness-stille — flu-B PCR+ var nær usynlig for detektoren, ingen prodrom. u39-immunvakta planlegges uansett HRV; vernet varer til D+10, ikke D+3. IV1–IV4 er billig race-hygiene (søvn/fylling/folkemengde) rundt alle tre løp. Den gamle immunsuppresjon-rammen er revidert (se errata). (F15 + errata)
Taper er distanse-asymmetrisk. 10k-PB-ene kom uten taper (Energimila på TSB −6 / 101 km-uke); HM-PB-ene med. Derfor: ingen mini-taper før Energimila (u32 holder ~95 km), ekte taper før Kbh. (F5→F8, E1)
Absorpsjon i tre klasser: kvalitet ~0–1 d (autonomt gratis), 30k+ 2–3 d, maraton 4–5 d. RHR er non-responder for deg — les HRV+BB, ikke RHR. Post-race-krateret etter et velkjørt løp er godartet, ikke et faresignal. (F7)
Maraton lekker i km 35–40; kollaps er binær. Hendelse vs brudd er skillbart live på steglengde + HR (steg-kollaps −5…−19 % = brudd; intakt steg = hendelse, ikke jag). London var synlig fra km 2 → km 5-gate (HR ≥170 på planfart = bytt til nedre CI). Reserven finnes nesten alltid (9/11 spurter). (F6)
To kanaler er lukket som null — slutt å lete der. Ordene dine leder ingenting (Barcelona-«dette går dårlig» → PB er kronvitnet). Søvnarkitekturen bærer null signal utover HRV, og race-eve-frykten er avkreftet (natten før løp ligger på baseline; det er T−2-reisenatten som er kort, og Frankfurt-PB kom likevel). (F16/F21/F4b)
Kontinuitet er betingelsen, ikke spaken. Ett ufrivillig skade-avbrudd på 7,5 år — ellers bryter kalender og virus, nesten aldri kropp. Kostnad = timing × varighet: 4 infeksjonsdager i byggefase rev to måneder; 21 spredte dager i 2025 var ≈ gratis. Invester i fravær av dyre avbrudd. (F20)
Langsiktig: 2027 har tre kandidat-former (A gjenta / B fler-maraton / C motor-år), avgjøres av Amsterdam-fasiten. Fastpunkter: Praha HM 3.4.27 = 2027-sertifikatet (strek 1:19:08); Genève M 9.5.27 = realiserings-løp T−5u etter Praha (sikt 2:48–2:52, aldri 2:45 der). (F22)
> Leser du bare én linje: ingen av de 19 funnene er kodet inn ennå. OPUS-IMPL-1 er neste steg, og det er en Opus-jobb — Fable-tiden går til analyse.
OPUS-IMPL-1 — fortsatt ikke kjørt. Åtte punkter ligger klare: G2 (hrv-flagg distanse-avhengig), G3 (fase-formet pacing-plan + km 5/25/35-gates), G4 (decoupling-metrikk), G5 (post-race-krater-demping), G8 (B1b-absorpsjonsflagg), OPPSKRIFT-2 (taper-port + MP-mål 120–150 + Energimila-strek på Mål-fanen), O2 (Frankfurt-siderettelser), SNAP-1b pkt. 8 (konsument-vern i brief/status/readiness). Alle spec-er er komplette i kilderapportene. Perfekt jobb for token-ventetiden (Opus-kvote er separat).
Din beslutningskø (C1–C6):
| # | Beslutning | Når |
|---|---|---|
| C1 | Re-typing: 2025-10-27 → infection (+ 6 forslag) | Når du får bekreftet |
| C3 | Plan-dialogen 08.07 (Opus) — dossieret er grunnlaget; race-uke-hygiene inn i race-ukene | I morgen |
| C4 | Race-portefølje: bekreft Praha/Genève-rollene | — |
| C5 | Biomarkør-retest **21.07** = respons-sjekk jern/D3/omega-3 (fra 28.04) mot carl.json-mål | Om to uker |
Plan-dialogen 08.07 (Opus): `training_plan_daily.json` spikres der — ingen økt er dag-festet ennå. `TRAINING_PLAN.md` er STALE (april-tilstand); dossieret (`Running_Brief_Plandossier-Amsterdam_v1.md`) er forhandlingsgrunnlaget.
To ulike lab-retester, ikke bland dem: 21.07 = biomarkør (jern/D3/omega-3, respons på tilskudd fra 28.04). Aug/sep = VO2/LT2 — F18 kaller den viktigste enkeltdatapunktet for hele langtidshorisonten (VO2 61,7 ble målt forkjølet → reelt trolig 63–65).
FABLE-24 (Miljø-atlas) + FABLE-25 (Biomekanikk): spec'et og kjørbart, men venter. Du er snart tom for Fable-tokens → begge tas på Opus 4.8.
Konsolideringsnotat (for Opus/hub): 2026-07-07 — Systemtilstand v1. Helhetsbilde av vinduet 05.–07.07 i tre lag (pipeline: score-orden/SNAP/git-lås/RACE-1/B2/B6/KLASS-2/G1, LOO 1,97→1,53 %; 19 innsikter destillert til beslutninger; hva venter: OPUS-IMPL-1, C1–C6, plan-dialog 08.07, retest 21.07 + VO2 aug/sep, FABLE-24/25). Erstatter ikke Sammendrag v3 — bredere (dekker maskineri + kø), ikke dypere.
Dato: 2026-07-07 · Formål: meta-review med friske øyne etter 19 funn + F22/F23. Hva gjenstår, og hva er verdt Fable-tid vs Opus-tid? Datalaget er sjekket (ikke bare foreslått blindt) — der en kilde er tynn, står det.
Maraton-syntese (F17/tverrmaraton) · kortdistanse-syntese (F5) · pacing-DNA maraton (F6) · absorpsjon (F7) · varme/Italia (F4a) · søvn: score (F4b) + arkitektur (F21) · LT2-motor (F9) · responder-profil volum/intensitet (F19) · kontinuitet (F20) · livstids-PR/AG%/2:45-bane (F18) · infeksjon revidert (F15 + errata) · subjektiv-signal (F16) · biomarkører (F23) · race-portefølje Praha/Genève (F22) · era-syntese (F17). Spec'et men ikke kjørt (ikke foreslå på nytt): FABLE-24 Miljø-atlas (kulde/mørke/mølle/årshjul) · FABLE-25 Biomekanikk (kadens/steglengde/GCT/stride-kollaps). Begge venter på Opus 4.8.
Tier-definisjon: Fable-verdig = krever metodedesign fra bunnen, kryss-korpus-syntese eller dømmekraft (multiple-testing, konfundering, medisinsk-nær varsomhet) Opus ikke matcher. Opus-able = mekanisk anvendelse av en kjent metode med ferdig spec.
Sjekket, men ikke modent: Styrke → durability/økonomi-transfer (kobler F6 stride-kollaps til styrke) er en god idé, men `strength_log.json` har n=9 (rekonstruert fra ChatGPT-historikk). For tynt for dose-respons. Rev:iter når styrke-loggingen modnes — da Opus-able.
Først: #1 Fueling → km 35–40. Siste uanalyserte input-spak på den eneste failure-sonen som betyr noe for det nære målet (sub-2:50 Amsterdam). Høyest operativ verdi per token.
Så: #4 Trening → langtids-helse. Åpner et nytt domene distinkt fra alt gjort, og performance-korpuset er alt mettet — marginal-verdien av et 20. performance-funn er lavere enn av det første langtids-helse-funnet.
Tredje, hvis mer: #3 Realiserings-gapet — men den vinner på å vente til Amsterdam legger til et datapunkt. #2 Taper-anatomien er det tryggeste rene performance-valget om du heller vil bli i det sporet.
Alt annet (#5–8) er Opus-able med de spec-ene som står her — spar Fable til #1/#4.
Konsolideringsnotat (for Opus/hub): 2026-07-07 — Analyseforslag Runde C v1. Ni nye analyser med Fable/Opus-tiering + «allerede dekket»-liste. Fable-verdig: #1 fueling→km35-40, #2 taper-anatomi, #3 realiserings-gap, #4 healthspan-syntese, #9 Amsterdam pre-mortem (tidsstyrt T−3u). Opus-able: #6 detrening/reversibilitet, #7 polarisering, #8 mikrosyklus; #5 kanari-økt = grense. Anbefalt rekkefølge ved knappe tokens: #1 → #4 → #3/#2. Strength→transfer sjekket og forkastet (strength_log n=9). F24/F25 fortsatt de eneste andre uåpnede.
Dato: 2026-07-04 · Grunnlag: CHANGELOG, SYSTEM_OVERVIEW, PREDICTION_MODEL, TODO, all kode/data gjennomgått i denne sesjonen (modellrevisjon, blokkanalyse, HR-QC, planarbeid)
Overordnet vurdering: Systemet er uvanlig modent — kanonisk eierskap per fil, vakthunder, lock/freeze-disiplin, validert modell, alt konsumeres via én kanal (hub). De svake punktene er ikke arkitektur, men (a) læringsløkker som ikke er lukket (race → modell → plan), (b) subjektive data som samles tynt (RPE, ernæring, smerte), og (c) noen kjente bugs/TODO-er som har ligget lenge (dual-path, mass-reskår, mobil).
1. Post-race debrief-protokoll. Auto-rapport samme kveld: predikert vs faktisk vs CI + splits + HR-drift + 5 strukturerte subjektive spørsmål (pacing-følelse, mage, fylling, mental, «hva ville du endret»). Lagres i Races/ og mates til neste blokkplan. Energimila 12.8 = pilot.
2. Banister what-if på planfila (MOD-6). Planen ligger nå strukturert dag-for-dag → simuler «−10 km/u», «dropp uke 35-dobbel», «syk 5 dager» og se Amsterdam-effekten. Gjør planjusteringer datadrevne i stedet for magefølelse.
3. Readiness-gate som eksplisitt beslutningsregel. I dag prosa i morning brief; gjør om til trafikklys per planlagt økt (HRV/RHR/søvn-terskler fra COACH_INSTRUCTIONS) + konkret auto-forslag («flytt PM-økta til torsdag»).
4. RPE-logg 30 sek etter hver kvalitetsøkt (TODO #6): én Pushover-reply med tall 1–10 + ett ord. Divergens exec-score høy/RPE høy over 2 uker = tidligste overbelastningsvarsel som finnes.
5. Laktat-protokoll på rytme: fast kontrolløkt hver 14. dag i blokk (5×2000 @ 3:52, måling etter drag 2 og 5) → LT2-drift-kurve gjennom blokka i stedet for ad hoc-punkter. Mater både coaching og (senere) Kalman.
6. Varme-adaptasjon som ressurs nå: Italia-ukene er de facto varmeblokk. Protokollfør: 10–14 d eksponering gir plasmavolum-løft som vises som HRV-hopp/RHR-fall ved hjemkomst — ikke tolk det som formhopp i seg selv, men bruk det i uke 30–31-doseringen.
7. Styrke inn i samme planfil. strength_plan.json lever parallelt med egne uker; slå sammen med training_plan_daily (felt per dag) + auto-konfliktsjekk (aldri tung underkropp <36 t før TOSK/langtur; din 4-øvelses-regel håndheves).
8. Taper-cockpit: egen visning siste 14 d før mål — TSB-bane mot race-dag (mål: +5–+15), HRV-CV-trend (skal falle), søvnbank, sjekkliste (sko, fylling, drop-bag). Historisk fasit: alle PR-maraton på positiv TSB.
9. Pacing-plan-generator per race: km-for-km mål fra modellprediksjon + løypeprofil + værvindu; eksport som utskrivbar tabell/armbånd-PDF. Amsterdam: flat, men vind-legger på 30–38 km bør planlegges.
10. Ukentlig auto-retro søndag kveld (bygger på Ukesrapporter): faktisk vs plan + KPI-avvik + ett konkret justeringsforslag for neste uke. Nå er rapporten deskriptiv; gjør den preskriptiv.
11. Teknikk-overvåkning under fatigue: running dynamics finnes per økt — flagg når GCT/vertikal ratio degraderer >X % i siste tredjedel av langturer (durability-markør, NY-2023-lærdommen).
12. 2027-målprosess etter Amsterdam: datadrevet sesongevaluering (blokk-KPI-er vs utfall) + neste nivå-mål (sub-2:45? bane-10k sub-36?) mens motivasjonen fra høstresultatene er fersk.
1. Lukk læringsløkka: auto-append per race i PREDICTION_MODEL §validering (predikert@T-14/T-7/race-eve vs faktisk + CI-treff). I dag manuell hukommelse; gjør det til pipeline-steg race-kvelden.
2. Vind-re-fit med backfillede data: race_weather.json har nå wind_mean_ms per løp — dagens vind-koeffisient er fitted på upresis aktivitets-vind. Samme øvelse som temp (og vurder retningsvekting à la langtur-WGAP).
3. Laktat som Kalman-kilde når loggen har ~10+ punkter på kontrolløkter (henger på A5-protokollen).
4. Personalisert taper-bonus: TAPER_BONUS er litteratur-konstant; du har nå 3 PR-løp med kjent TSB — estimer eget optimum (TSB-race-dag ↔ residual) når n vokser.
5. Race-readiness-score T-7: kombiner TSB-prognose, HRV-CV, sykefravær siste 14 d, terskeldose til én kalibrert score med historisk treffprosent — «grønn/gul/rød uke før».
6. B-løp som gratis kalibrering: parkrun/testløp tagges effort_b (ute av fit) men residualene LOGGES — dobler datapunkt-tilfanget uten å koste A-races.
7. Garmin-benchmark-spor: garmin_race_predictions.json ligger der — plot Garmin vs egen modell vs faktisk over tid på prediksjon.html (sanity + moral).
8. Vær-scenario-slider på prediksjon.html: temp 8–24° → tid per mål (heat-prior er implementert; eksponer den interaktivt).
9. Form-fall-varsel: Kalman-tilstand svekket >1,5 % over 14 d → Pushover («form-dipp — sykdom/last? sjekk hub»). Motstykket til dagens sykdomsvarsel.
10. Usikkerhets-dekomponering: vis CI-bidrag (modell-σ vs projeksjons-σ vs tilstands-σ) per mål — gjør det tydelig at Amsterdam-usikkerheten krymper mest av å løpe Kbh.
11. Per-distanse k og HM-durability når n≥40 (10k-terskeldose har HM-analog: HMP-km siste 6 u — testbar allerede nå).
12. 5k-splitt-strategi fra modellen for 10k-løp (Energimila: modellens 35:59 → 17:55/18:04-splitt med negativ-split-bias som historisk matcher deg).
1. Søvn-regularitet som KPI (leggetids-varians, ikke bare score/timer) — sterkeste enkle immun-prediktor; data ligger alt i Garmin-søvn.
2. Sykdomsprediksjonen må valideres og få tenner: predict_illness finnes — backtest mot 2025–26-utbruddene, og la høy risiko + planlagt dobbel-terskel auto-foreslå bytte (45 % av utbrudd starter på ATL ≥ p75).
3. Fylling-tracking per langtur: g karbo/t som felt (parse Strava-desc «80g/t» slik laktat parses). KPI: 85–90 på L4-turer. Historisk mage-risiko på maraton reduseres i trening, ikke på race-dag.
4. Immunvakt-sjekkliste som widget etter race/storøkter (72 t): søvn ≥7,5 t, unngå trengsel, karbo+frukt, null kvalitet — avkrysses i hub.
5. Blodprøve-rytme: fast vår/høst-panel (ferritin/Hb/D-vit; feb viste ferritin 61 = ok) med kalender-reminder — jern er billigste 2–3 %-forsikringen for maratonløpere.
6. Race-vekt-bånd på hub: biometrics-trend mot erfart racevekt (Frankfurt-vekta) uten å gjøre vekt til styringsmål (modellen forkastet den — dette er helse-overvåkning, ikke prediktor).
7. Kalendertetthet som kapasitetssignal: familiekalenderen synces alt — uker med reise/kvelds-tetthet flagges «lav kapasitet» i ukeplan-forslag (matcher TOSK-fravær-realitet).
8. HRV-CV-graf siste 6 uker før hvert mål på hub (taper-KPI, r=−0,82-funnet) med målbånd.
9. Koffein-protokoll: systematiser (3 mg/kg 45 min før kvalitet/race, kutt etter kl. 14 ellers) — morning brief har alt koffeinvindu-hint, gjør det doserbart.
10. AVVIST (Carl 2026-07-09): medisin-info hører ikke hjemme på huben.
11. Alkohol-friksjon ned: loggen brukes knapt — Pushover-reply «vin 2» i stedet for script-kjøring, ellers forblir illness-filteret blindt.
12. Middags-hvile i varmeperioder (nå): 20 min før 15:00 — dokumentert effekt på kveldsøkt-kvalitet og søvntrykk; relevant for Italia-ukene og evt. varm august.
1. Dual-path-bug permanent fiks (persist ↔ HTML) — eldste åpne arkitektur-gjeld; én beregning, HTML rendrer persistert.
2. Mass-reskår de ~98 frosne progressive øktene (detektoren er nå stabil) + prosa-revisjon der tier endres.
3. Backup-rotasjon: 50+ `quality.json.bak_progdetect_*` (~300 MB) — behold siste 5, arkiver resten automatisk i sync.
4. Test-suite for modellkjeden (TODO #39): CI-assert på LOO (feil hvis T-14 MAE > 1,5 %) + guard på feature-navn/rekkefølge — beskytter mot stille regresjon.
5. Vakthund-whitelist: forventede endringer (ulåste økter <14 d, training_load re-beregning etter gap) ekskluderes → alarm kun på ekte anomalier (dagens alarm var støy).
6. RACE-1 fullføres: stream/data for de 4 gamle løpene (trengs også for vind-re-fit).
7. HRQC-1 FIT-sensor-skann + forny Strava bulk-eksport → wrist/belte-fasit for hele historikken.
8. hr_review_queue → hub-side med sortert kø og «bekreft/avvis»-arbeidsflyt (statisk: generert sjekkliste som skriver tilbake via script).
9. Mobil-først hub (mobil.pintzka.com) — Plan/Blokkplan-fanene finnes ikke på mobil i dag; du konsumerer via telefon på reise.
10. Kanonisk sonedefinisjon (TODO #31): I1–I5 defineres i dag i minst 3 filer — én kilde (zones.json) som alle renderere importerer.
11. Sentralt Carl-objekt (TODO #40): fysiologi/PR/mål lastes i dag fil-for-fil i hvert script.
12. HIST-1 prosa-backfill 2019–2022 ferdigstilles — historikken er skåret men ikke fortalt; blokkanalyser blir bedre med kontekst.
13. Office-PC 06:00-automatisering (TODO #24/44) — siste brukersteg for helautomatisk morgenpipeline.
14. Lite JSON-API på Cloudflare (race_outlook.json + plan eksponert bak Access) → fremtidige klienter (widgets, Apple Watch-komplikasjon) slipper HTML-parsing.
15. Årsrapport-generator: 2026-oppsummering (volum, PR-er, blokker, sykdom, KPI-er) som PDF i desember — motivasjon + deling.
16. Strukturert skade-/smertelogg (TODO #27) koblet mot belastning (nå: bare injury_log-stubbe).
17. Sko-effekt-analyse: racesko vs treningssko som kovariat på kvalitetsøkt-pace (shoe_mileage er komplett — er Vaporfly-øktene systematisk 3–5 s/km «for gode» i form-signalene?).
18. Fast test-segment månedlig (TODO #11) som ekstra Kalman-kilde med lav R (kontrollerte forhold).
19. Vær-styrt øktflytting: yr-ukevarsel finnes — ukeplan-forslag som legger kvalitet på beste dag (vind <4 m/s for baneøkter).
20. «Dagens hvorfor» i morning brief: én LLM-setning som kobler dagens økt til Amsterdam-målet («36 min terskel i dag = MP-holdbarhet 18. oktober») — billig, høy motivasjonseffekt.
Prioriteringsforslag hvis alt ikke skal gjøres: A1+B1 (læringsløkka), C2+C3 (sykdom+fylling — de to historisk dyreste tapskildene), D1+D4 (gjeld+vern), B2 (vind-re-fit er 30 min nå som dataene ligger der). Si hvilke som skal inn i TODO, så føres de med referanser.
Dato: 2026-07-04 · Etter: runde 1 gjennomført (hub 17,9 → 2,6 MB, Trening 8→5 undertabs, ukesrapporter gjenopplivet — se CHANGELOG). Forslagene under er nye, informert av dypdykket i koden.
Fikset underveis i runde 1 (utenfor opprinnelig scope, men åpenbart galt): T1-widgeten viste «−10 dager til evaluering (22. mai)» i ukevis (skjules nå når evalueringen er passert) · beredskaps-pillen pekte på en tom skjult tab (peker nå til beredskap-grafen) · hero-flisenes scroll-ankre matchet ikke de nye panelene (KEYMAP lagt inn).
R1. Sparklines i hero-flisene. WELL-seriene ligger nå i sida — en 30-dagers mini-sparkline under HRV/RHR/søvn/TR/BB-flisene gir trend på ett blikk uten fanebytte. Billig etter W1. (1–2 t)
R7. Uka & kalender: lukk ukes-loopen visuelt. (a) toggle «neste uke» i avvikstabellen, (b) badge «baseline W28 frosset ✓» når snapshot finnes, (c) vis forrige ukes A10-forslag («→ Neste uke: …») øverst — i dag ligger det bare i Ukesrapporter-fanen, men det handler om DENNE uka. (1–2 t)
R8. Race-pills med readiness-/risiko-prikk. Hero-pillene viser bare %; en liten farget prikk fra B5-scoren + rødt flagg når race-eve-risikoflagg er aktivt kobler readiness til det du faktisk ser hver dag. (Beslektet med B5b i TODO — morning brief T-7.) (1 t)
R5. Metrikk-overlay i Wellness. «Sammenlign»-velger som tegner to valgfrie metrikker normalisert i samme graf (f.eks. overnight HR vs RHR — poenget ditt om at de skiller lag; HRV vs stress). Mønster-jakt uten eksport. (2 t)
R6. Intensitets-heatmap med år-velger. Grid-en dekker siste 365 d; med årknapper 2019–2026 blir den et komplett treningsatlas. INTENSITY_DATA må utvides all-time (samme kompakt-mønster som WELL). (1–2 t)
R3. Hub-vakthund i sync. Hub-en er nå JS-tung — et lite `verify_hub_sanity.py`-steg etter bygging: størrelse < 5 MB, alle forventede canvas-id-er til stede, WELL-JSON parser, (valgfritt) `node --check` på inline-scripts der node finnes. Fanger stille brudd FØR push til hub.pintzka.com. (1 t — anbefales først)
R4. WELL → egen datafil. 526 kB JSON ligger inline i HTML-en; som `Sessions/hub_data.json` med `fetch()` caches data og HTML separat hos Cloudflare, og fremtidige klienter (widgets, D14-API-tanken) gjenbruker samme fil. (1–2 t)
R2. Fanekonsolidering 13 → ~9 hovedfaner. Kvalitetsøkter + Langturer + Rolige turer er tre arkivfaner med samme mønster (liste → iframe) — slå sammen til én «Økter»-fane med type-/årsfilter (ARCH-3-grepet). Sko kan bli undertab under Trening; Tester + Helse kan vurderes som «Kropp & lab». Mindre kognitiv last — men dette er smak: si hvilke sammenslåinger du faktisk vil ha før noe gjøres. (3–5 t avhengig av valg)
R9. AVVIST (Carl 2026-07-09): medisin-info hører ikke hjemme på treningshuben.
R10. Quality explorer inn som undertab (EXPLORER-1 fra TODO). Standalone-sida (427 økter) inn under Kvalitet-fanen — etter T1-øvelsen er fragment+inline-JSON-mønsteret kjent. (2–3 t)
R11. PWA-lett. Manifest + ikon + theme-color → hub.pintzka.com kan «legges til hjemskjerm» på iPhone som app. Erstatter den pensjonerte mobil-hubben uten ny kode — sida er lett nok nå. (30 min)
R12. Dark mode. CSS-variablene er samlet i :root; en `prefers-color-scheme: dark`-blokk + Chart.js-farger fra variabler → kveldsvennlig hub. (1–2 t)
R13. Hurtigsøk (⌘K). Globalt søk over økter (dato/navn/type) → åpner session-HTML direkte. Sessions-indeksen finnes som data. (2–3 t)
1. R3 (vakthund — sikre det som nettopp ble bygget)
2. R1 + R7 + R8 (daglig verdi, små)
3. R4 (datafil-splitt)
4. R9 + R10 (innhold)
5. R11 + R12 + R13 (kosmetikk)
6. R2 (fanekonsolidering — trenger dine valg først)
Dato: 2026-07-05 · Prinsipp: Fable brukes der dømmekraft/syntese i ett forsøk betyr mest (dype analyser, metodevalg, tverr-syntese). Sonnet-batcher tar mekanikk (revisjonskøen: 19 prosa + 95 frosne, HIST-backfill). Hver økt under = én frisk samtale, session-sized.
Økt 1 — NY SYSTEM_OVERVIEW + CHANGELOG-komprimering (Carl-forslag 5.7 — riktig første jobb). Full inventar av HELE mappetreet (denne planens forgjenger overså Sessions/races/maraton — beviset på at dagens dokumentasjon ikke speiler virkeligheten). Skriv SYSTEM_OVERVIEW fra bunnen: hva finnes, hvor ligger det, hvem eier hva, hvilke scripts genererer hva. Komprimer CHANGELOG (3 400+ linjer) til årets hovedlinjer + flytt detaljene til `_arkiv/CHANGELOG_full_2026H1.md`. Inkluder RYDD-1 (dashboard-duplikatene → _arkiv).
Økt 2 — Tverr-maraton-syntesen (flyttet opp — grunnlaget FINNES allerede). Alle 11 maraton har komplette 13-seksjons-analyser i `Sessions/races/maraton/` med kvantifiserte treningsblokker. Syntesen leser alle 11 + modell-LOO-residualene: hva skiller beste fra verste (blokk-KPI, pacing-disiplin, fylling/mage per løp, race-eve, vær-justert) → sub-3-oppskrift v2 med konfidens per KPI. race_deep-FRAMEWORK-vinkelen (Riegel/TSB-korreksjon per løp) flettes inn der maraton-sidene ikke dekker den.
Økt 3 — Modell-mat (utvikling): (a) RACE-1 lukkes: utvid stream-fetch til `race`-type (én linje, samme fiks som langtur) + bygg dashboards for de 4 gamle løpene; (b) B2 vind-re-fit — race_weather har nå wind_mean_ms per løp, 30-min-jobb som skjerper vind-koeffisienten; (c) B6 B-løps-residualer logges (dobler kalibreringstilfanget gratis); (d) stress-gate v2 (KLASS-2): rekalibrer backtesten mot stress-onsets som mål (det er dét den faktisk predikerer — 27 %-recall-tallet får nytt, ærligere hjem) + språkvask i brief/status.
Økt 4 — To nye sammenhenger (data finnes, aldri analysert):
1. Varme-adaptasjons-kvantifisering — Italia-ukene er et naturlig eksperiment: HRV/RHR/EF før–under–etter, mot fjorårets samme uker. Tallfester plasmavolum-effekten du kommer hjem med 17.7 → direkte input til u29-doseringen og T2.5-tolkningen 19.7. Tidskritisk — gjør denne før hjemkomst.
2. Søvn→kvalitetsøkt-verifisering — «søvnscore < 78 = aldri vellykket kvalitet»-regelen i COACH_INSTRUCTIONS er gammel; test mot alle skårede økter (n≈420) og skjerp/flytt terskelen med konfidens.
Økt 5 — valg etter smak: (a) A3 ukeplan-forhandleren (mest coaching-transformative som gjenstår), eller (b) DESIGN-1-resten hvis du har kjørt `npm i -D playwright` — da kan økta SE fanene og gjøre typografi/hero/farge-løftet ordentlig med før/etter-screenshots.
Tidsreise-modus (A5) · events-tidslinjen utvidet til alle grafer · D15 årsrapport-generator (desember) · A1b widgets-token. Hub-en er ellers funksjonelt komplett — verdien de neste dagene ligger i ANALYSENE, ikke i flere flater.
Dato: 2026-07-04 · Etter: runde 1 (17,9→2,6 MB, strukturopprydding) + runde 2 (R1–R13: hub_data.js-splitt, sanity-vakthund, sparklines, overlay, all-time heatmap, ⌘K-søk, PWA-lett, dark mode, Kropp & lab, Verktøy ryddet).
Hub-en er nå rask, ren og vaktet. Forslagene under er neste nivå — sortert fra «gjør plattformen til noe mer» ned til finpuss. De store (A-delen) er reelle prosjekter, ikke kvelds-fikser.
A1. JSON-API + iOS-widgets (D14 fullført ut). hub_data.js, race_outlook.json, race_readiness.json og morning_brief_today.json ligger allerede som statiske filer bak Cloudflare — ett steg til: eksponer dem som stabile endepunkter (`/api/outlook.json` …) bak Cloudflare Access, og bygg 2–3 Scriptable-widgets for iPhone-hjemskjermen: «Dagens økt + beredskap», «Amsterdam-prediksjon + P %», «Blokk-KPI». Da trenger du ikke engang åpne hub-en de fleste dager. Apple Watch-komplikasjon via samme kilde er mulig senere. (4–6 t inkl. widgets)
A2. Interaktiv plan-what-if på Mål-fanen. plan_whatif.py har de validerte kanalene (β_tsb, β_M-durab, CTL-skalering, sykdomsheuristikk) — eksponer koeffisientene + TRIMP-projeksjonen i JSON og regn klientside med sliders: «−X % volum», «syk N dager fra dato», «dropp N langturer» → live Amsterdam-delta + P(sub-2:50). Samme grep som dagens hva-hvis, men på PLANEN i stedet for abstrakt formgevinst. Ærlighets-krav: samme «retning, ikke sekunder»-merkelapp som CLI-en. (3–4 t)
A3. Ukeplan-forhandleren. I Uka & kalender: klikk en planlagt økt → «flytt til …»-meny som klient-side validerer mot regelboka (aldri to harde på rad, tung underkropp <36 t før TOSK/langtur, immunvakt-vinduer, HRV-gate) og viser TSB-konsekvensen. Endringen skrives IKKE direkte (snapshot-disiplinen er hellig) — den genererer en ferdig amendment-JSON du limer inn i coaching-økta, som logger den i plan_amendments med begrunnelse. Plan-endringer blir datadrevne og sporbare uten å bryte ukesrapport-scoringen. (5–8 t — den mest coaching-transformative)
A5. Tidsreise-modus. Dato-slider øverst: sett hub-tilstanden til vilkårlig historisk dato — form-anker, prediksjoner (fra outlook_history), blokk-KPI-er og beredskap slik de VAR. Uvurderlig for post-race-evaluering («hva visste vi T-14?») og for å etterprøve modellen ærlig. Krever at flere serier snapshottes daglig (outlook_history gjør det alt; readiness/KPI må føyes til). (4–6 t)
B1. Durability-dashboard (rapportens A11). Running dynamics ligger per økt: GCT, vertikal ratio, kadens. Bygg «degradering siste tredjedel»-metrikk for langturer (Δ GCT/ratio 1. vs siste tredjedel) → tidsserie på Langtur-fanen + KPI i Blokkplan. Dette er NY-2023-markøren (formen så fin ut, holdbarheten sviktet) kvantifisert. (3–4 t + validering mot kjente case)
B2. Race-uke-cockpit. Taper-cockpiten (T-14) utvides i selve race-uka: pacing-planen inline, yr-værvindu for starttidspunktet, drikkestasjon-notater, race-eve-sjekkliste — én side som er ALT du trenger fra mandag til startstreken. Energimila 12.8 = pilot. (2–3 t, mest sammenstilling)
B3. «Dagens hvorfor» (rapportens D20). Én linje i morning brief + hub som kobler dagens økt til målet: «36 min terskel i dag = MP-holdbarhet 18. oktober». Regelbasert v1 (økt-type × fase → setningsmal); LLM-variant kan komme i prosa-batchen. Billig, høy motivasjonseffekt. (1–2 t)
C1. Service worker → ekte offline-PWA. Bygger på R11: cache hub.html + hub_data.js + siste økt-HTML-er → hub-en åpner på fly/i tunnel. NB: cache-invalidering må følge ?v-hashen. (2–3 t)
C2. Visuell regresjonstest. Playwright/headless på Mac-en: screenshot av hver hovedfane etter bygging, pikseldiff mot forrige — alarm ved stor endring uten data-endring. Fanger CSS/JS-brekkasje som sanity-vakthunden ikke ser (den sjekker struktur, ikke rendering). (3–4 t + node-avhengighet)
C3. Mobil-finpuss på 390 px. Nå som én side skal dekke mobil: audit av tab-raden (scrollbar?), hero-kollaps, brede tabeller → kort-layout, touch-mål ≥44 px. (2–3 t)
C4. G3-resten: trekk gjenværende inline-styles (blokkplan-KPI, uka-tabellen, søkemodalen) ut i klasser. (1 t, ved neste anledning)
1. A1 (API + widgets — mest daglig verdi per time)
2. A2 (plan-what-if på hub — modellen finnes, bare UI)
3. B2 før 12.8 (race-uke-cockpit klar til Energimila)
4. B1 (durability — lukker A11 før maratonblokka teller)
5. A3/A4/A5 (velg én per økt — A3 hvis coaching-flyt, A4/A5 hvis analyse)
6. C1–C4 etter smak
Ingen av disse rører øktfanene (fredet) eller datafiler med lås/frys.
Dato: 2026-07-04 · Scope: Wellness-undertab (Oversikt) + alle 8 undertabs på Trening · kode + rendret hub gjennomgått
Ikke rørt i denne gjennomgangen: I dag-panen (nylig kuratert), Kvalitet/Langtur/Race/Mål-fanene.
| Funn | Måling |
|---|---|
| hub.html totalvekt | **17,9 MB** — hvorav **16,4 MB er 124 innbakte PNG-er** |
| Wellness-panelet alene | **90 PNG-er** (10 metrikker × 9 tidsvinduer, pre-rendret) |
| Historikk-panelet | 20 PNG-er til (PMC 8 · volum 7 · soner 5) + 2 Chart.js-grafer + 2 enkelt-PNG |
| Plan-undertaben | Viser `TRAINING_PLAN.md` sist endret **15. mai** («Fase 0 → Fase 1») — utdatert ved siden av spikret blokkplan |
| Ukesrapporter | Siste rapport = **W22 (mai)**. Rotårsak: `snapshot_week_plan.py` kjøres ikke i sync → `build_week_report` feiler stille hver dag siden W24 |
| Mobil-hub | 8 kB stub — ingen wellness, ingen plan (kjent D9) |
Dupliseringer funnet:
1. Blokkplan-uketabellen finnes to steder — Trening→🗺️ Blokkplan OG Mål-fanen (prediksjon.html «Blokkplan → Amsterdam»). Samme tabell, to kilder til drift.
2. Fire volum-visualiseringer i Historikk: PNG-ranges, Chart.js månedlig, Chart.js år-for-år, PNG akkumulert-år.
3. Ukesframdrift vises 3 steder: hero UKE-KM-flis, Trening-header-bar, Denne uka-sumrad.
4. «Denne uka» og «Kalender» viser samme dager (plan + faktisk) i to formater rett ved siden av hverandre.
5. LT2-evolusjon i Wellness = Garmin-10K-pred × 1,04 — en proxy som lever ved siden av den ekte terskelform-grafen (matchet-puls m/ CI) på Mål-fanen.
6. Overnight HR ≈ RHR (Garmins RHR er allerede nattbasert) — to nesten identiske grafer.
7. Navnekollisjon: hovedfane «📅 Kalender» (familie) vs Trening→«📅 Kalender» (trening).
W1. Chart.js i stedet for 90 PNG-er (viktigst av alt). Én canvas per metrikk, dataserien som kompakt JSON, range-knappene filtrerer klientside — nøyaktig mønsteret aero-/form-grafene på prediksjon.html allerede bruker. Chart.js lastes alt i hub. Effekt: 17,9 → ~2–3 MB, rask lasting på mobil/Cloudflare, ekte tooltips. Erstatter ARCH-7 (lazy-load) — bedre løsning på samme problem. (3–4 t)
W2. Metrikk-sanering: 11 → 8 paneler. Slå sammen Søvntimer + Søvnscore til ett panel (toggle/to akser). Slå Overnight HR + Respirasjon sammen til ett «Natt»-panel, kollapset som default — eller dropp overnight HR helt (RHR dekker det). Fjern LT2-evolusjon (Garmin-proxyen) — erstatt med lenke til terskelform på Mål. (1 t, gjøres samtidig med W1)
W3. Sykdoms-/alkohol-overlay på HRV- og RHR-grafene. Skravér illness_periods, prikk alkohol-events. Dataene ligger der; dips blir tolkbare i stedet for mystiske. (1 t etter W1)
W4. Nytt kort: «Sykdomsgate nå». Gate-status fra illness_prediction (alarm / ATL-persentil / post-illness-etterklang) ved siden av Søvngjeld- og HRV-CV-kortene. C2 beregner alt — dette er ren rendering. (30 min)
W5. HRV-CV: fra tall-kort til mini-graf m/ målbånd. 6-ukers CV-serie + nedre-tertil-bånd — serien beregnes allerede i race_readiness (C8). Tallkortet i dag skjuler trenden, og trenden er poenget (r=−0,82). (30 min)
W6. Vekt-panelet: race-vekt-bånd (Frankfurt-vekta ±1 kg) som horisontalt bånd — helseovervåkning, ikke styringsmål (C6). (15 min)
W7. Søvn-regularitet-kort (C1) — leggetids-varians siste 14 d. Forbehold: wellness.json har i dag ikke leggetidspunkt, bare varighet/score — krever nytt felt fra Garmin-søvn-synken først. Parker hvis feltet ikke er lett tilgjengelig.
Beholdes som i dag: streaks, søvngjeld-kortet, beredskap-historikk, 7-dagers-tabellen.
T1. 8 → 5 undertabs:
| Ny | Innhold | Absorberer |
|---|---|---|
| 📅 **Uka & kalender** | Avvikstabellen (Denne uka) øverst + 4-ukers kalenderen under | Kalender + Denne uka |
| 🗺️ **Blokkplan** | Som i dag + T4-KPI-er | — |
| 🔥 **Historikk & form** | Intensity-grid · ETT volum-modul · soner · PMC · CTL-projeksjon | Historikk + CTL/ATL |
| 📈 **Ukesrapporter** | Som i dag, men med T5-fiks | — |
| ⚙️ **Øktformer & regler** | Som i dag + T8 | Plan (fjernes — se T2) |
T2. Fjern Plan-undertaben. TRAINING_PLAN.md er fra 15. mai og motsier blokkplanen. Enten arkiveres dokumentet, eller det skrives om til et kort «filosofi»-dokument som limes inn under Øktformer & regler. En fane som viser en utdatert plan er aktivt villedende. (15 min + evt. dok-jobb)
T3. Blokkplan = én sannhet. Fjern «Blokkplan → Amsterdam»-tabellen fra Mål-fanen/prediksjon.html; behold «Denne ukas plan» der + én lenke «→ full blokkplan (Trening)». (30 min)
T4. Blokkplan-KPI-raden mangler tre ting vi nå har data for: fylling g/t siste L4-tur (fueling_log, KPI 85–90) · siste laktat-kontrollpunkt (lactate_drift) · langtur-score-snitt + decoupling i blokka — det siste er BLK-3 fra TODO (NY-2023-lærdommen: antall 30k+ er ikke nok) og mangler helt i dag. (1–1,5 t, lukker BLK-3)
T5. Ukesrapporter: fiks eller fjern. Rotårsak: `snapshot_week_plan.py` har ikke kjørt siden 31. mai → ingen frosset baseline → build_week_report hopper over. Fiks: legg snapshot-steget i sync_daily (kjøres mandag, snapshotter inneværende uke) + kjør backfill for W24–W27 der plan-daily finnes. Samtidig A10 fra forslagsbanken: én preskriptiv linje per rapport («ett konkret justeringsforslag for neste uke»). En fane med 6 uker gamle data er verre enn ingen fane. (1–2 t)
T6. «Denne uka»-tabellen: type-treff, ikke bare km. Kvalitetsøkt gjennomført som easy (eller motsatt) skal flagges selv når km stemmer. + valgfri TSB-kolonne per dag. (45 min)
T7. Én ukesframdrift-indikator. Dropp baren i Trening-headeren (hero-flisen UKE-KM viser det samme). (10 min)
T8. Øktformer-fanen henter ikke den nye A5-seksjonen — regex-listen i hub-koden inkluderer ikke «Laktat-kontrolløkt»-headeren fra COACH_INSTRUCTIONS. Én linje. (5 min)
G1. Mobil-hub: etter W1 er hoved-hubben lett nok (~2 MB) til at mobil kan bruke samme fil med responsiv CSS → vurder å pensjonere build_mobile_hub-stubben (dagens 8 kB dekker nesten ingenting — D9). (vurderes etter W1)
G2. Rename hovedfanen «📅 Kalender» → «👨👩👧 Avtaler» (familiekalender-iframen) så den ikke kolliderer med treningskalenderen. (5 min)
G3. Stil-konsistens: Blokkplan/Denne uka bruker rå inline-styles; trekk ut felles .kpi-card/.tbl-klasser når flatene likevel røres (W1/T1). Lav prioritet.
1. W1 + T2-volumopprydding — vekt/ytelse, størst effekt (4–5 t)
2. T1 + T2 + T3 + T7 + G2 — struktur og duplikater (2–3 t)
3. T5 — gjenopplive Ukesrapporter (1–2 t)
4. W4 + W5 + T4 + T8 — nye datakilder inn (2 t)
5. W2 + W3 + W6 + T6 — polish (2 t)
6. G1 mobil — etter at W1 har vist ny vekt
Alt er rene bygge-script-endringer (build_hub_dashboard / build_prediction_dashboard / sync-wiring) — ingen datafiler, ingen låste økter berøres. W7 er den eneste som krever ny datainnhenting.