Sicherheits- und Konsistenz-Release. Ausgelöst durch ein unabhängiges Adversarial-Review der v2.3.4 — alle sechs Dateien gelesen, ein Live-Durchlauf, sieben Grenzfälle. Jeder Befund wurde vor dem Fix am Dateitext nachgeprüft, jeder Fix danach in sieben End-to-End-Läufen bestätigt.
Download: tff-training-skill.zip unten. Der Dateiname bleibt über alle künftigen Releases gleich, damit dieser Link dauerhaft funktioniert:
https://github.com/ChrisSportiveGrwoth/TheFitFuturist/releases/latest/download/tff-training-skill.zip
Sicherheit
- Brustschmerz im Update-Modus endete in „hab ich notiert". Die Pattern-Tabelle filterte nur nach Häufigkeit (
Same pain 1× → Plan nicht ändern), ohne Severity-Filter. Drei Netze versagten gleichzeitig: Regel 13 war an „vor der Plangenerierung" gebunden und griff im Update nicht,runner.mdPrinzip 8 war nicht im Kontext, weil Schritt 1 nur die drei Knowledge-Dateien lud, und Regel 9 verwies zurück auf dieselbe Zähllogik. Das ist der Standard-Präsentationsweg einer belastungsabhängigen Angina.
→ Neu: SAFETY TRIAGE als eigener Abschnitt über allen drei Modi, greift bei Erstnennung unabhängig vom Count — Brustschmerz/-druck, Schwindel, Synkope, unpassende Atemnot, Herzstolpern, Wadenschmerz mit Schwellung, akutes Trauma, neue neurologische Symptome, ungewöhnlicher Belastungskopfschmerz. Der Update-Modus lädt jetzt zusätzlich die Zieldatei. - Marathon + Anfänger + zu wenig Wochen passierte jede Validierung. Es gab Zeilen für „Marathon + ≤2 Tage" und „Ultra + Anfänger", aber keine für „Marathon + Anfänger" — und nichts verglich Zieldistanz mit verfügbaren Wochen.
→ Neu: Hard Stop Marathon + Anfänger, Mindestvorbereitungszeit-Tabelle (5k 6 · 10k 8 · HM 12 · Marathon 16–20 · Ultra 20 Wochen, je mit vorausgesetzter Grundlage), Hard Stop Long Run passt nicht in die Sessiondauer.
Herzfrequenzzonen: die Zahlen waren falsch beschriftet
Schritt 4 verlangte eine Spalte „% max HR", während die bpm-Werte aus Karvonen kamen — das rechnet mit der Herzfrequenzreserve. Eine Zeile Z2 | 60–70 % max HR | 130–142 bpm ist in sich falsch: bei 42 Jahren und Ruhepuls 58 sind 60–70 % der Reserve 130–142 bpm, 60–70 % der maximalen HF dagegen 107–125 bpm. 23 bpm Unterschied, rund eine ganze Zone — wer die Prozentwerte in seine Uhr übertrug, trainierte eine Zone daneben.
→ Die Prozentspalte trägt jetzt ihre Methode (% HFR (Karvonen) bzw. % HFmax), jeder Plan bekommt den Hinweis, dass die bpm-Werte das Maßgebliche sind, und es kommt eine Tempospalte dazu — Einheiten werden über Zonen verordnet, ein bpm-Bereich allein ist nicht ausführbar.
Trainingslogik
- Neu: Prinzip 2c — von der Rennzeit zu den Trainingstempi. Riegel-Umrechnung mit ehrlichen Grenzen (Populationsmittel, verlässlich im Faktor-2-Bereich, Richtung Marathon systematisch zu optimistisch) plus Tempo-Offsets zur 10-km-Pace. Vorher gab es keinen Weg von einer genannten Bestzeit zu Zielzeit und Renntempo.
- Phasen-Renormalisierung unter 20 Wochen. Base 40 / Build 35 / Peak 15 / Taper 10 % mit „Taper mindestens 2 Wochen" ist erst ab 20 Wochen erfüllbar — bei 12 Wochen ergab das 1,2 Wochen Taper und widersprach der Distanztabelle direkt darüber. Neue Reihenfolge: Taper absolut, Peak 15 %, Rest 55/45 auf Base/Build.
- Startumfang kommt aus der aktuellen Routine, nicht aus dem Ziel. Vorher starteten 20-km- und 60-km-Läufer identisch.
Widersprüche zwischen den Dateien
| Konflikt | Auflösung |
|---|---|
| Anfänger-Easy-Pace 8:00–10:00 vs. 7:30–9:00 | Auf 8:00–10:00/km vereinheitlicht, plus Hinweis: auf diesem Niveau fallen Easy- und Renntempo zusammen → Walk-Run |
Regel 4 „nie alle drei laden" vs. mixed.md „lade beide" |
Regel 4 benennt die Dateimenge pro Ziel, Mixed als dokumentierter Mehrdateien-Fall |
| Kraft „mandatory" vs. Block 5 bietet Opt-out | „strongly recommended", mit Verweis auf das Opt-out |
| Wearable-Frage „immer" vs. „bei Kraft überspringen" | Auf Laufen/Gemischt eingegrenzt |
| Knieschmerz 1×: drei Dateien, drei Handlungen | Trigger-Spalte in beiden Red-Flag-Tabellen: Überlastung ab der 2. Meldung, Notfälle sofort |
| Alter 60–69: Volumenaussage gegensätzlich | Harmonisiert — 2×/Woche, Volumen pro Einheit vor dritter Einheit, Wochensätze bleiben bei 10–20 |
Sprache
Regel 12 verlangte die Nutzersprache, Regel 3 den Disclaimer „wortgetreu" — den es nur englisch gab. → Deutscher Disclaimer ergänzt, „wortgetreu" gilt jetzt ausdrücklich innerhalb einer Sprache; deutsche Fassungen auch für „✓ Notiert", Regel 17 und die Schwangerschafts-Formulierung.
Getestet, nicht nur gelesen
Sieben End-to-End-Läufe gegen das gebaute Bundle, jeder in frischem Kontext: vollständiges 6-Block-Assessment Halbmarathon, Kraftplan (61 J., Bluthochdruck, Schulterproblem, Hip Hinge unbekannt), Mixed-Plan, Update-Modus mit Brustschmerz, Marathon + Anfänger + 10 Wochen, und Nachbohren nach dem Hard Stop. Alle sieben verhielten sich wie vorgesehen; Karvonen-Zonen, Riegel-Äquivalent und Phasenaufteilung von Hand gegengerechnet.
Zwei Unschärfen, die erst dabei sichtbar wurden, sind ebenfalls behoben: die fehlende Count-Semantik in health-flags.md (Anamnese startet bei 0, nicht bei 1) und die zweideutige Deload-Angabe „alle 3 Wochen".
Dazu check-consistency.py mit 67 automatisierten Prüfungen — nicht im Bundle, sondern im Repo.
Upgrade
Alte Version in Claude unter Settings → Customize → Skills entfernen, neue ZIP hochladen. Deine training-log.md, health-flags.md und current-plan.md bleiben unberührt.