Skip to content

CPSL v1.5.0

Choose a tag to compare

@quadrellif90-collab quadrellif90-collab released this 23 Aug 08:39
· 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:

  • drifting solo 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_throughmaintainreducerecovery_dayoff
  • 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.0
  • RELEASE_NOTES_v1.5.0.md
  • docs/DESIGN_MONTIS_PORT_v1.5.0.md — design comparativo completo (cosa è stato portato, cosa no e perché)
  • docs/SYSTEM.md — feature list aggiornata
  • README.md — novità v1.5.0, badge test 304
  • NOTICEattribuzione 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