Diário 2026-05-16 (sáb)
Reportagem matinal
Auto-gerado por dash_today.py em 14:48 de sáb 16 mai.
| Métrica | Valor | Δ vs ontem |
|---|---|---|
| HRV overnight | 24 ms | −14 ⬇ |
| BB max / min | 51 / 22 | −38 ⬇ |
| FCrep | 52 bpm | +4 ⬆ |
| Sleep Score | 74 | — |
| Sono total | 6h02 | −119 ⬇ |
| REM | 56 min | — |
| Deep | 1h16 | — |
| Light | 3h50 | — |
| Awake | 18 min | — |
| Stress avg / max | 24 / 80 | — |
| Disposição (Garmin Readiness) | 6 | −52 ⬇ |
Veredito automático
🔴 Corte forçado (score 6)
Múltiplos sinais críticos. Off hoje.
O que aconteceu
- Treino com a equipe — saiu 08:09 da manhã, voltou ~10:16 (2h07 de duração). LR3 antecipado executado hoje (era pra ser dom 17, equipe pediu sáb).
- Distância foi maior que o prescrito (18.59 km vs 10,5 km do LR3 oficial) — ritmo de grupo puxou pra mais quilometragem.
- Intensidade ESTAVA NA BASE AERÓBICA (Z3 Aeróbico, 120-137 bpm) — exatamente o protocolo de longão. Apenas tocou Z4 Limite em 1.9% do tempo.
- Sensação subjetiva: bem, treino tranquilo. Sem dor/cãibra/sintoma de alerta.
- Quadro pós-treino (14:15): 🔴 vermelho score 5 — HRV 24 (−14), BB 51 (−38), Disposição 6 (−52). Fisiologia esperada de stress alto (volume +77% do prescrito + carga acumulada da semana), não overtraining.
- Sono noite anterior 6h02 com Awake 18 min e Stress max 80 — já era reflexo do HRR4 de sex + provavelmente noite curta.
Treino realizado: LR3 (antecipado em grupo, executado em volume maior)
| Métrica | Alvo (LR3) | Real | Status |
|---|---|---|---|
| Distância | 10,5 km | 18.59 km | ⚠️ +77% (efeito grupo) |
| Tempo total | ~80 min | 127m00s (2h07) | +60% |
| Pace médio | 7:30-8:00/km | 7:49/km | ✅ dentro |
| FC média | Z3 Aeróbico (120-137) | 136.6 | ✅ topo de Aeróbico |
| FC máx | Aeróbico (≤137) | 152 | ⚠️ tocou Z4 Limite |
| Cadência média | manter ≥159 | 164.6 spm | ✅✅ DENTRO DO ALVO 160-165 ⭐ |
Distribuição zonas (Garmin %LTHR, LTHR=153)
| Zona | Faixa | % | Leitura |
|---|---|---|---|
| Z1 Aquecimento | ≤105 | 0.0% | — |
| Z2 Fácil | 106-119 | 0.7% | quase nada |
| Z3 Aeróbico | 120-137 | 80.8% | ✅ base aeróbica dominante |
| Z4 Limite | 138-157 | 18.5% | toque de threshold (efeito grupo no final) |
| Z5 Máximo | ≥158 | 0.0% | ✅ sem furo intensidade |
Mais de 80% do tempo na base aeróbica — protocolo Z2-do-coach cumprido. Só ficaria mais limpo se Z4 fosse <10%.
Espelho honesto
🎯 Vitória da temporada — Cadência 164.6 spm. Primeira vez DENTRO do alvo 160-165. Sequência da semana:
| Dia | Cadência |
|---|---|
| seg 11 | 157.8 |
| ter 12 (FFR4) | 159.4 |
| qua 13 (RRe5) | 158.9 |
| sex 15 (HRR4) | 159.2 |
| sáb 16 (LR longo em grupo) | 164.6 (+5.4 ⬆) |
Sem efeito "puxa-puxa" do grupo — atleta relatou (20:35): "o treino foi em grupo, mas eu não segui a cadência de ninguém não. Fui sustentando no meu ritmo mesmo." Isso ELIMINA a ressalva técnica padrão de "cadência alta em grupo é só ritmo coletivo". A cadência 164.6 foi auto-gerada e sustentada deliberadamente.
Acertos:
1. Intensidade em base aeróbica respeitada (80.8% em Z3 Aeróbico). Esse é o KPI principal pra maratona.
2. Cadência subiu pro alvo e sustentou pelos 18.6 km — não foi pico isolado.
3. Sem furo de Z5 Máximo (intensidade alta) — corpo respeitou o teto.
Pontos de atenção (não furos, mas vale registrar):
1. Volume excessivo pro estado de carga atual — 18.6 km contra 10,5 prescritos. Em grupo é difícil controlar. ACWR vai subir mais do que o necessário. Conversa: próximos LR em grupo, ajustar pace pra ficar atrás do pelotão.
2. Tocou Z4 Limite 18.5% — provavelmente nos km finais quando grupo acelerou. Em longão ideal seria ≤10%. Mas não é furo crítico.
3. HRR4 sex + LR longão sáb manhã (24h) = janela apertada de recuperação. O quadro fisiológico vermelho de hoje reflete essa carga somada — esperado, mas precisa de OFF domingo absoluto.
Veredito do dia
Bom treino. Intensidade certinha (base aeróbica 80%+), cadência no alvo, sem furos críticos. Volume foi acima do prescrito por efeito grupo, mas a INTENSIDADE estava no protocolo — esse era o ponto crítico do longão e foi cumprido.
Conversa de macro pra você (não mudança imediata): ainda vale ficar atento ao volume em LR de grupo — controlar pra não exceder demais o prescrito do coach. Mas hoje, em termos de QUALIDADE de treino, foi sólido.
Pro 4h00 da maratona: Race Predictor da maratona (baseline 5h06 em 11/05) — monitorar nos próximos dias. Se cair, é ganho aeróbico real apesar do volume extra. Se subir, sinal de carga não processada.
Decisão / Veredito
Domingo 17/05 — OFF ABSOLUTO
Não-negociável agora. Sem força, sem caminhada longa, sem nada que coloque FC acima de Z1. Recovery puro:
- Dormir 9+ horas (compensar 6h02 de ontem)
- Hidratação 4 L (carga acumulada de 2 dias seguidos pede hidratação acima do padrão)
- Refeição reparadora pós-LR: carbo 1g/kg + proteína 25-30g (já fez? Se não, ainda dá tempo)
- Alongamento leve + foam roller MMII suave
- Telas off cedo pra dormir 22h se possível
Segunda 18/05 — gate decisivo da W21
Vai abrir a semana 21. Plano completo do coach ainda não baixado (rodar scheduled_workouts.py ter manhã pós-publicação).
Gates pra liberar primeiro treino de seg da W21:
- HRV ≥30 sustentado
- BB max ≥75
- FCrep ≤52
- Sensação subjetiva de pernas "leves"
Se domingo OFF for respeitado E sono bom: seg manhã esperado HRV 30-35, quadro 🟡-🟢. Se HRV continuar <28 = sinal de fadiga não processada = adia treino de seg ou faz só Z1 leve.
Pendências
- [ ] Domingo 17/05 OFF puro — sem caminhada longa, sem força, sem nada acima de Z1
- [ ] Dormir ≥9h hoje à noite (deitar 22h)
- [ ] Hidratação 4 L hoje + amanhã
- [ ] Refeição reparadora pós-LR (se ainda não fez): carbo + proteína em janela de 30-60 min
- [ ] Terça 19/05 manhã: rodar
python scheduled_workouts.pypra puxar W21 - [ ] Conversa interna ou com coach: estratégia pra LR em grupo evitar Z3 sistemático
- [ ] Monitorar Race Predictor próximos 2-3 dias (sinal de processamento da carga)
Análise Interativa
15:30 — Recalibração das zonas de FC (Karvonen) com dados oficiais do Garmin
Contexto: atleta reclamou que "Z2 abaixo de 134 era impossível" e lembrou que existia uma pendência antiga (checklist 04/05) de configurar Karvonen no Garmin Connect, nunca feita.
Investigação do DB histórico — picos de FC já registrados:
| Data | Atividade | FC máx |
|---|---|---|
| 19/04/2026 | corrida 28 min (teste) | 190 bpm |
| 19/04/2026 | corrida 15 min | 175 |
| 07/12/2025 | longão 110 min | 168 |
| 15/05/2026 | HRR4 | 163 |
Atleta confirmou: 190 foi teste formal de FC máxima, não outlier do sensor.
Dados oficiais do Garmin (lidos do relógio Forerunner 965):
- FCmáx 175 (Garmin auto-detected; conservador frente ao 190 do teste)
- LTHR 153 (Lactate Threshold HR)
- FC repouso 49 (era 51 no perfil antigo)
Comparação técnica:
| Método | Z2 alvo |
|---|---|
| Karvonen FCmax 170 / FCrep 51 (anterior) | 122-133 |
| Karvonen FCmax 175 / FCrep 49 (NOVO) | 124-136 |
| %FCmax 175 (70-80%) | 122-140 |
| %LTHR 153 (Friel) | 124-136 |
Releitura dos treinos recentes:
| Treino | FC média | Status anterior | Corrigido |
|---|---|---|---|
| LR longo 16/05 (hoje 18.6km) | 136.6 | Z3 80.8% ❌ | Z2 puro ✅ |
| LR7 10/05 (15km) | 131.9 | Z2 borderline | Z2 conservador ✅ |
| RRe5 13/05 | 123.6 | Z2 (era pra Z1) | Z1/Z2 borderline ✅ |
| FFR4 12/05 | 128.6 | Z2 | Z2 base ✅ |
| HRR4 15/05 | 139.5 / max 163 | Z3 + Z5 só 2.5% | Z3 puro + Z5 ≥162 |
Decisão tomada: Caminho A — Karvonen com FCmax 175 + FCrep 49 (dados nativos Garmin). Razões: medidos por uso real (não fórmula populacional), LTHR 153 valida o intervalo, conservador frente ao 190 (possível outlier).
Ações executadas no pipeline:
- aggregate_activities.py: FC_MAX=175, FC_REP=49, HRR=126 → bounds 124/137/149/162
- activity.html: mesmas constantes
- dashboard.py (Streamlit legado): mesmas constantes
- dash_verdict.py: FCREP_BASELINE = 49 (era 51)
- Reprocessamento retroativo de 55 TCXs: W19 saltou de 45.3% → 68.0% Z2; W20 de 31.8% → 50.2% Z2 — confirmando que muitos "furos Z3" eram Z2 puro correto
- Tests do dash_verdict ajustados (24/24 passando)
- Item antigo do checklist 04/05 marcado como concluído
Pendência (RESOLVIDA na entrada seguinte das 19:00): ao tentar configurar no Garmin Connect web/app, atleta descobriu que Garmin não usa Karvonen %HRR — usa %LTHR com nomes diferentes. Decisão revertida: alinhar nosso pipeline com o Garmin em vez do contrário. Ver entrada das 19:00.
19:00 — Alinhamento total com Garmin %LTHR (descarte do Karvonen)
Contexto: depois de tentar configurar Karvonen no Garmin (recomendação da entrada das 15:30), atleta foi direto no relógio e mandou screenshots mostrando que o Garmin Forerunner 965 já vinha configurado com %LTHR (não %HRR) e nomes diferentes: Aquecimento / Fácil / Aeróbico / Limite / Máximo.
Pergunta do atleta: "Não vai causar confusão usar dois sistemas? Não quero que você fique indicando que estou acima do Z2 quando na verdade estou dentro. Não entendi o motivo de continuar usando Karvonen se o Garmin (base dos índices) usa outro. O que isso impacta na avaliação dos treinos?"
Reconhecimento: atleta correto. Manter dois sistemas (Karvonen no dashboard + %LTHR no relógio) gera contradição constante. A única razão pra manter Karvonen era inércia de código. Não é razão suficiente.
Sistema único definido: Garmin %LTHR (LTHR=153)
| Z | Nome Garmin | % LTHR | Faixa bpm | Coaching equivalente |
|---|---|---|---|---|
| Z1 | Aquecimento | 55-69% | ≤105 | Warmup |
| Z2 | Fácil | 69-78% | 106-119 | Recovery |
| Z3 | Aeróbico | 78-90% | 120-137 | Base aeróbica = "Z2 do coach" |
| Z4 | Limite | 90-103% | 138-157 | Threshold |
| Z5 | Máximo | >103% | ≥158 | VO2max |
Mapping crítico coach ↔ Garmin
Quando coach prescrever "Z2 base" — atleta procura "Z3 Aeróbico" no relógio (não Z2 Fácil que é recovery). Atleta confirmou interpretação: pace prescrito 7:00-7:30/km bate com base aeróbica (Z3), não recovery (Z2).
Impacto na avaliação dos treinos
ZERO mudança no que foi feito. A FC real registrada não muda. Muda só o NOME da zona pra um mesmo valor.
Releitura dos treinos recentes com Garmin %LTHR:
| Treino | FC média | Karvonen dizia | Garmin %LTHR |
|---|---|---|---|
| LR longo 16/05 (hoje) | 136.6 | Z2 puro (no teto) | Z3 Aeróbico (topo) = base ✅ |
| LR7 10/05 | 131.9 | Z2 conservador | Z3 Aeróbico ✅ |
| RRe5 13/05 | 123.6 | Z1/Z2 borderline | Z3 Aeróbico (não recovery — era base) |
| FFR4 12/05 | 128.6 | Z2 | Z3 Aeróbico |
| HRR4 15/05 | 139.5 / max 163 | Z3+Z5 só 2.5% | Z4 Limite + Z5 Máximo (tocou) |
Mudança técnica executada no pipeline
aggregate_activities.py: LTHR=153, nomes Aquecimento/Fácil/Aeróbico/Limite/Máximo, bounds derivados de %LTHR padrãoactivity.html: mesmo refactor + cores ajustadas (verde agora é Z3 Aeróbico)dashboard.py(Streamlit legado): mesmo- Nova coluna
weekly_summary.pct_aerobico= % tempo em Z3 (base aeróbica) — substituipct_z2como métrica principal do macro dash_template.html: header da tabela semanal mudou de "%Z2" pra "%AERÓBICO"; footnote atualizada- Reprocessamento retroativo de 55 TCXs:
- W19 saltou pra 78.8% Aeróbico (era 45.3% no Karvonen 170/51 → 68.0% Karvonen 175/49)
- W20 atual: 69.5% Aeróbico (era 31.8% → 50.2%)
- Tests 24/24 passando
Decisão registrada
- ✅ Sistema único: Garmin %LTHR (sem Karvonen no dashboard)
- ✅ Memory
feedback_zonas_fc_garmin.mdcriada como referência permanente - ✅ Mapping coach↔Garmin documentado pra evitar ambiguidade em futuras análises
- ✅ Daqui pra frente: análise narrativa usa "Z3 Aeróbico" ou "base aeróbica" em vez de "Z2 base"
- ✅ Garmin Connect/relógio NÃO precisa mexer (já estava certo)
- ✅ Diários históricos reescritos (10/05, 12/05, 13/05, 15/05, 16/05) com nomenclatura Garmin %LTHR — distribuições de zonas recomputadas a partir do FC raw do TCX. Outros diários (5-9, 11, 14/05) tiveram referências menores ajustadas. A história ficou consistente — abrindo qualquer dia, a leitura usa o mesmo sistema do relógio.
Métrica W20 atualizada
| Indicador W20 | Valor |
|---|---|
| Volume | 35.2 km |
| Cadência semanal | 161.9 spm ⬆ (vitória da temporada) |
| % Aeróbico (Z3) | 69.5% — protocolo Z3 base cumprido sólido |
| Pace médio | 7:06/km |
| Longest | 18.6 km (LR de hoje em grupo) |
Esse 69.5% Aeróbico era o que o coach buscava ("longão Z2" = Z3 Aeróbico = ≥70% da semana). Praticamente no alvo.
20:30 — Relato do atleta: cadência alta SEM olhar no relógio
Observação importante reportada pelo atleta:
"Foi o melhor treino de cadência e não teve visual no relógio. Tudo no feeling mesmo. Acho que estou começando a manter bem a nova mecânica de corrida, com aumento da cadência."
Complemento (20:35):
"O treino foi em grupo, mas eu não segui a cadência de ninguém. Fui sustentando no meu ritmo mesmo."
Esse complemento muda a interpretação técnica: cadência 164.6 NÃO foi efeito de "ser puxado pelo grupo" (que é o vício clássico de LR em grupo). Foi auto-gerada e sustentada deliberadamente ao longo dos 18.6 km. Em combinação com a ausência de feedback visual no relógio, isso é evidência muito mais forte de internalização da mecânica de cadência alta.
21:30 — Race Predictor: por que maratona tem pace bem maior que 21K?
Pergunta do atleta:
"Estou vendo aqui o race prediction para 21Km: 2h13m e pace 6:19/Km. Por que para maratona não mantém esse pace? Está 5h02m e pace 7:10/Km."
Resposta técnica — fisiologia do "pace drop" com distância
A fórmula de Riegel descreve isso: T₂ = T₁ × (D₂/D₁)^n, onde n é o coeficiente de fadiga do atleta.
| Tipo de atleta | n típico |
|---|---|
| Elite mundial | 1.02-1.04 |
| Amador bem treinado | 1.06-1.10 |
| Amador iniciante em maratona | 1.15-1.20 |
Aplicando ao seu caso (Garmin):
- 21K = 7980s; Maratona = 18120s
- Razão = 2.27 → 2^n = 2.27 → n ≈ 1.18
Garmin te classifica como amador iniciante em maratona porque (1) você nunca correu maratona, (2) tem 98 kg (carga mecânica acentua fadiga), (3) está em semanas 2-3 do protocolo de base, (4) máximo treino de longão até hoje = 18.6 km.
Os 3 mecanismos fisiológicos por trás
- Limiar de lactato (LTHR 153): 21K se corre próximo do limiar (~FC 145-150, ~2h sustentável). Maratona TEM que ser corrida abaixo do limiar (FC ~130-138 = Z3 Aeróbico) — passar disso = bate a parede.
- Glicogênio finito: 2000 kcal = ~30 km intensa. Maratona forte queima tudo → "the wall" km 30-35. Pra evitar = mais lento + treinar metabolismo de gordura via LR longos em Z3 Aeróbico.
- Dano mecânico cumulativo: cada km = ~3000 impactos. 98 kg amplifica. Eficiência mecânica cai nos km finais.
Pra meta 4h00 declarada — matemática honesta
- 14400s / 7980s = 1.805 → n ≈ 0.85
- Isso é território de elite mundial. Inviável pra amador de 54a, 98kg, sem maratona registrada.
Cenários realistas em 16 semanas
| Alvo | n necessário | Viabilidade |
|---|---|---|
| 4h00 | 0.85 | ❌ inviável |
| 4h15 | 0.93 | ⚠️ improvável |
| 4h30 | 1.02 | 🟡 possível (tudo certo) |
| 4h45 | 1.10 | ✅ realista — bem treinado |
| 5h00 | 1.18 | ✅ nível atual |
O que reduz o n nos próximos 16 semanas
- LR longos em Z3 Aeróbico ≥80% do tempo (você fez 88% no LR7 e 68% hoje) → treina metabolismo de gordura
- Aumentar distância máxima: precisa chegar ≥30 km uma vez antes da prova
- Cadência alta consolidada (você está chegando lá) → reduz dano mecânico por km
- Possível perda de peso (não prioritária mas ajuda) → 3% menos energia/km a cada 3 kg
- Marathon-specific practice (carbo loading, géis durante longão)
Conclusão pra conversa com coach
Matemática hoje não fecha em 4h00. Mesmo com 16 semanas perfeitas, projeção realista é 4h30-4h45.
Sugestão de recalibração de metas (não decisão de hoje — material pra conversar com coach):
- Meta primária: completar maratona forte (4h30-4h45)
- Meta stretch: 4h15 se tudo conspirar
- 4h00 declarada: tratar como aspiração de médio prazo (próximo ciclo de 12 meses)
Registro decisional pendente: conversar com coach sobre recalibração da meta declarada — informar dado do Race Predictor + fórmula Riegel + cenários. Decisão final fica pra você + coach, mas o número está aqui transparente.
Análise técnica do que isso significa:
A cadência de hoje (164.6 spm, alta da temporada, primeira vez DENTRO do alvo 160-165) foi atingida sem feedback visual em tempo real no relógio — atleta correu por sensação corporal. Isso é qualitativamente diferente da semana anterior:
| Dia | Cadência | Feedback visual no relógio? |
|---|---|---|
| seg 11 | 157.8 | parcial (campo de cadência ainda não configurado como prioridade) |
| ter 12 (FFR4) | 159.4 | sim — "atenção visual funcionando" |
| qua 13 (RRe5) | 158.9 | sim |
| sex 15 (HRR4) | 159.2 | sim |
| sáb 16 (LR longo grupo) | 164.6 | NÃO — corrida "no feeling" |
Interpretação:
Cadência alta sem feedback consciente = adaptação neuromuscular começando a se consolidar. O cérebro motor está internalizando o padrão sem precisar do alerta visual. Esse é o salto da fase Awareness (precisa lembrar) pra fase Adaptação Neuromuscular (começa a ficar automático) — antecipado vs estimativa original (semanas 4-8 do protocolo de cadência).
Ressalva técnica honesta: ainda precisa de mais 2-3 LRs confirmando 162+ pra cravar que é hábito consolidado em diferentes contextos (cansado, solo, em terrenos variados). Hoje a combinação foi forte: em grupo MAS sem seguir cadência alheia + sem feedback visual no relógio — atleta sustentou ritmo próprio. Próxima evidência decisiva: próximo LR mesmo em outro contexto mantendo 162+.
O que isso muda no plano:
- Manter o campo de cadência no relógio? Sim — não desconfigurar ainda. É backup pra dias de cansaço.
- Próximo LR sozinho: rodar SEM olhar cadência ativamente, mas com o campo visível. Comparar a posteriori.
- Em 2-3 semanas, se mantiver 162+, mudar a meta de "Awareness" pra "Refinamento": alvo 165+.
Registro decisional pra macrociclo: adaptação neuromuscular de cadência confirmada antecipadamente (estava previsto pra semanas 4-8, está acontecendo na semana 2). Isso favorece economia de corrida nas distâncias longas — relevante pra 21K (06/06) e maratona (30/08).