Калькулятор плана — защита перед релизом

Детерминированный движок · числа на странице посчитал сам калькулятор · в бот пока НЕ залит
Корень всех прошлых провалов: темп без усилия неинтерпретируем. 5:33/км — это либо лёгкий бег сильного бегуна, либо максимум новичка. Пока не знаем усилие — не знаем форму, и план уезжает в 7:52 или 8:00. Теперь усилие оцифровано (выбор из 4 описаний или пульс), и из него детерминированно считается всё остальное. Ниже — доказательство на твоих данных, на чужих бегунах, и отчёт о том, как я пытался это сломать.

1. Твой бег под микроскопом

4.5 км / 5:33 — один и тот же бег, 4 разных усилия. Видно, почему мы СПРАШИВАЕМ усилие.
Как ощущалсяПризнакФорма (VDOT)ЛёгкийТемпоИнтервал
🟢 Спокойноболтал бы свободно, мог бы ещё столько же45.25:334:374:14
🟡 Бодро, комфортноцелыми фразами с паузами, ещё немного бы пробежал37.66:255:214:54
🟠 Тяжелокороткие фразы, хватило бы ещё на 10–15 мин35.96:395:335:05
🔴 Максимумговорить не мог, как на гонке33.67:005:515:22
Тот же бег как 🟢 даёт VDOT 45 и быстрые темпы, как 🔴 — VDOT 34 и медленные. Один вопрос про усилие убирает всю двоякость.

2. Петля самопроверки

Бег 4.5 км / 5:33 на усилии 🟠 «тяжело» → форма VDOT 35.9. Темпо-темп из этой формы = 5:33/км. Твой бег был 5:33/км. Разница 0 с — петля замкнулась: усилие, которое ты назвал, совпадает с темпами, которые получит план. Раньше тут была дыра (7:52 против 5:33).

3. Выполнимость твоей цели — полумарафон Floripa

Форма VDOT 35.9 · база ~20 км/нед · длинная 10 км. Вердикт по двум замкам: форма + объём.
Цель темпа8 нед10 нед14 нед20 нед
просто добежать⛔ Нереалистичноне хватит базы — сдвинь дату⚠️ Амбициозно✅ Достижимо✅ Достижимо
6:00/км⛔ Нереалистичноне хватит базы — сдвинь дату⚠️ Амбициозно✅ Достижимо✅ Достижимо
5:45/км⛔ Нереалистичноне хватит базы — сдвинь дату⚠️ Амбициозно✅ Достижимо✅ Достижимо
5:30/км⛔ Нереалистичноне хватит базы — сдвинь дату⚠️ Амбициозно✅ Достижимо✅ Достижимо
5:00/км⛔ Нереалистичноне хватит базы — сдвинь дату⛔ Нереалистичнореально ~5:24/км⛔ Нереалистичнореально ~5:15/км⚠️ Амбициозно
4:30/км⛔ Нереалистичноне хватит базы — сдвинь дату⛔ Нереалистичнореально ~5:24/км⛔ Нереалистичнореально ~5:15/км⛔ Нереалистичнореально ~5:01/км
Система не обещает невозможного: где не хватает срока или базы — честно говорит, и предлагает реальную альтернативу. Сдвинешь срок или базу — пересчитается.

4. Работает не только для тебя

Без WHOOP и без Strava — на одних ответах. Разные уровни, разные цели.
Новичок✅ Достижимо
С нуля: 3 км тяжело по 9:00
VDOT 20.0 · E 10:20 (Z2) · T 8:45 (Z4) · I 8:04 (Z5)
Цель: полумарафон «просто добежать», 24 недели
Средний⚠️ Амбициозно
5 км комфортно по 6:00
VDOT 34.1 · E 6:55 (Z2) · T 5:47 (Z4) · I 5:18 (Z5)
Цель: полумарафон из 5:30/км, 16 недель
Быстрый✅ Достижимо
10 км на пороге по 4:30
VDOT 46.6 · E 5:25 (Z2) · T 4:30 (Z4) · I 4:07 (Z5)
Цель: марафон из 4:40/км (~3:17), 18 недель
Завышенная цель⛔ Нереалистично
Тот же средний бегун хочет марафон из 3:30 за 8 недель
Система честно отказывает: не успеть нарастить базу/объём. Совет: сдвинуть дату или взять дистанцию короче.

5. Я пытался это сломать

Прежде чем защищать — атаковал сам. 125 проверок · все зелёные
Мусор на входе — 0 км, отрицательное время, «blazing» вместо усилия→ Все отвергаются с ошибкой, плана не строит
Абсурдный бег — 3 км за 6 мин «спокойно» (темп мирового рекорда как лёгкий)→ Форма зажата потолком VDOT 85 — не улетает в бесконечность
Противоречие усилия — Один бег как 🟢/🟡/🟠/🔴→ Форма строго падает: легче назвал → выше форма. Без скачков
Невозможная цель (темп) — 10 км из 35 минут с любитель-базы→ Нереалистично + честное достижимое время взамен
Невозможная цель (объём) — Марафон за 5 недель с 10 км/нед→ Нереалистично. НЕ советует «беги медленнее» — базу не построить. Совет: двигай дату
«Просто добежать» — Цель без темпа (самый частый выбор)→ Не падает: судит только по объёму, темп не выдумывает
Сетка 4×5×5 — Все усилия × дистанции × темпы→ 100 комбинаций — везде темпы упорядочены E>M>T>I>R, без NaN
В этом проходе нашёл и закрыл две дыры: (1) «просто добежать» без целевого темпа роняло проверку; (2) когда блокирует объём, система советовала «беги медленнее» — обман, базу медленным темпом не построить. Обе починены и закреплены тестами.

6. Что НЕ требуется

Ни одна формула не требует WHOOP или Strava. Пульс — опциональный, более точный путь; если его нет, усилие берётся из описаний. WHOOP включён только у тебя — для сверки, что ты реально попадаешь в нужную зону. Будущий пользователь проходит онбординг на одних вопросах.
rAIner · детерминированный беговой калькулятор · 4 градации усилия · спек согласуется до релиза