# План работы RF4 Spotter — Регрессионный аудит На основе: [REGRESSION_AUDIT_2026-09-09.md](../docs/REGRESSION_AUDIT_2026-09-09.md) Дата: 2026-09-09 ## Выполнено ### R01 ✅ — Caddy body_limit → request_body max_size - **Файл**: `deploy/Caddyfile` - **Проблема**: `body_limit 10M` не поддерживается в Caddy 2.10.2 - **Решение**: `request_body { max_size 10M }` - **Верификация**: `caddy adapt` проходит без ошибок ### R02 ✅ — Activity API contract regression - **API**: `main.py` — `/api/v1/activity` возвращает `PaginatedActivityOut` - **Frontend**: все 4 потребителя обновлены: - `index.astro` ✅ (из предыдущего коммита) - `fish/[slug].astro` ✅ - `waterbodies/[slug].astro` ✅ - `waterbodies/[slug]/[fish].astro` ✅ - `spots/[id].astro` ✅ - **Тесты**: 4 теста обновлены под новый контракт - **Результат**: 76 passed, 1 skipped, 0 failures ### R14 ✅ — Registry источников больше не зависит от БД при парсинге CLI - **Файл**: `community_scheduler.py` - **Решение**: `_static_registry()` — без БД; `configured_sources(enabled_keys)` — с опциональной БД - **Тесты**: scheduler unit-тесты проходят без PostgreSQL ## Итоги тестов - **Python**: 76 passed, 1 skipped ✅ - **Astro check**: 0 errors, 0 warnings, 0 hints ✅ - **Caddy adapt**: passes ✅ ## Коммиты 1. `a37f9c4` — R01 Caddy body_limit → request_body 2. `d962ba2` — R02 activity API contract + R14 static registry ## Осталось из регрессий (R03-R15) - R03: Research CLI cooldown broken (fcntl `r`/`r+` + encoding) - R04: Disabled-фильтрация обходит site cooldown - R05: Bootstrap небезопасен для источников - R06: Фильтры сигналов сравнивают slug с названием - R07: Ошибка главной остаётся HTTP 200 - R08: Фильтры UI не доведены до responsive-состояния - R09: Пагинация (частично исправлено в U03) - R10: Ошибки формы теряют черновик - R11: Проверка URL после сетевого обращения - R12: Мониторинг не сигнализирует о зависшем импорте - R13: Доверие к IP клиента не ограничено proxy - R15: D04/D06/D07/D08 выполнены не полностью