CPSL v1.5.0
·
40 commits
to main
since this release
CPSL v1.5.0 — Port Montis: ESPE · W′bal · ISDM · ADE
Quattro nuovi moduli analitici ad alto valore, portati dai concetti di Montis.icu (MIT) e ricalibrati sulle convenzioni CPSL.
🆕 What's New
1. Progressione sistemi energetici — ESPE (/api/espe)
Confronta la tua power curve degli ultimi 84 giorni con i precedenti 84:
- Delta per ancore 1m / 5m / 20m / 60m, classificati per sistema energetico: anaerobico (ΔP1m) · VO₂max (ΔP5m) · soglia (ΔP20m) · durabilità aerobica (ΔP60m)
- Bande strong → moderate → mild → decline per sistema, banda neutra ±0.75%
- Derivate: bias glicolitico P1m/P20m (ideale ~1.8), durability gradient P60m/P20m, VO₂ reserve ratio P5m/CP, balance score
- Detection plateau (tutte le ancore entro ±1%) e profilo curva su 6 fenotipi (cronoman → specialista anaerobico)
- Card "Progressioni sistemi energetici" nel tab Analysis
2. Repeatabilità anaerobica W′bal (/api/repeatability)
Statistiche della settimana sulla depletazione W′bal per sessione:
- Media/max %, sessioni moderate (>50%) e alte (>60%), kJ totali sopra FTP
- Divergenza dalla baseline endurance (0.30 — configurabile in
config.WPRBAL_BASELINE) - Fonte preferenziale: sync Intervals.icu (
icu_w_prime+icu_max_wbal_depletion, nuovi campi persistiti); fallback stimato da kJ sopra FTP ÷ W′ del fit corrente - Card dedicata nel tab Analysis insieme al trend durabilità
3. Trend durabilità ISDM (/api/durability-trend)
Classificazione settimanale del trend di resistenza dal decoupling aerobico firmato:
driftingsolo con evidenza ripetuta (media >10%, oppure media >5% con ≥2 sessioni su ≥3 valide)improving/stable_improving/stable/insufficient_data- Complementare al durability score assoluto già presente: livello + direzione
4. Decisione del giorno — governance ADE (/api/coach/decision)
Decisione giornaliera spiegabile e trasparente:
- Punteggio da 100 con penalità/supporti itemizzati: stato operativo (TSB ≤ −30 → recovery priority −30), flag rischio, forecast fatica, conflitto trend carico/stato, HRV ratio (<90% −8; ≥100% +3), sonno, TSB, monotonia, ramp rate CTL (>8/sett −10), taper governance (forma troppo alta vicino gara), depletazione W′bal
- Directive finale:
train_through→maintain→reduce→recovery_day→off - Confidenza proporzionale ai segnali effettivamente disponibili (0-100%)
- Card "Decisione del giorno" con lista motivazioni ✓/− leggibili
- Filosofia invariata: il motore deterministico decide, l'AI spiega
📦 Assets
| Piattaforma | File |
|---|---|
| Windows | CyclingPerformanceStudioLab-v1.5.0-win-x64.zip (estrai ed esegui l'exe) |
| Windows | CyclingPerformanceStudioLab.exe (raw) |
✅ Qualità & Test
- Suite completa: 304 passed (+19 nuovi test in
tests/test_montis_port.py: ESPE, trend, repeatability, ADE) - QA end-to-end dei 4 endpoint su server reale: OK
- Verifica UI nel browser delle nuove card Analysis: OK
- Build PyInstaller verificata
📚 Documentazione aggiornata
CHANGELOG.md— voce completa v1.5.0RELEASE_NOTES_v1.5.0.mddocs/DESIGN_MONTIS_PORT_v1.5.0.md— design comparativo completo (cosa è stato portato, cosa no e perché)docs/SYSTEM.md— feature list aggiornataREADME.md— novità v1.5.0, badge test 304NOTICE— attribuzione MIT: concetti adattati da intervalsicugptcoach-public © 2026 Clive King. Soglie ricalibrate sulle convenzioni CPSL; la baseline W′bal 0.30 è un'euristica upstream non peer-reviewed.
🗺️ Prossimi passi (v1.6+)
- Fork integrale Montis in cartella separata (pianificazione condivisa in corso)
- Eventuale MCP server locale