# Ревью Opus 4.8 — 2026-09-05 ## Контекст Ревью ограничивалось проектом `upload-platform`. Проверены структура проекта, frontend-модули, Flask-обёртка, конфигурация и HISTORY. Исходники backend VM-upload отсутствуют; в рабочем дереве обнаруживались только артефакты `__pycache__` от удалённых модулей. ## Замечания и текущий статус 1. **Документация описывала отменённую VM-архитектуру.** **RESOLVED:** `README.md`, `upload/README.md` и `PLAN.md` приведены к picker-only архитектуре. Старые VM/backend разделы в `PLAN.md` и README помечены как `LEGACY`. 2. **Документация содержала неиспользуемые параметры конфигурации и лимиты.** **RESOLVED:** актуальная документация указывает только `allowedExt` и прямо фиксирует отсутствие ограничений размера и количества файлов. 3. **В рабочем дереве присутствовали `.pyc` в `__pycache__`.** **OPEN:** это локальные игнорируемые артефакты, не попадающие в Git. Удаление не выполнялось, поскольку удаление файлов требует отдельного решения. 4. **`set_status.js` и `api.setBusy` выглядят неиспользуемыми.** **PARTIALLY RESOLVED:** публичный `api.setBusy` удалён как неиспользуемый. `set_status.js` сохранён как legacy-файл до отдельного решения об удалении. 5. **`rebaseTree` дублируется в ZIP- и folder-обработчиках.** **RESOLVED:** функция вынесена в общий модуль `upload/frontend/table/rebase_tree.js`. ## Вывод Критичных дефектов в picker-only коде ревью не выявило. Основное замечание по рассинхронизации документации устранено. После дополнительной проверки и рефакторинга остаются две технические задачи: решение по локальным `__pycache__` и отдельное решение по удалению либо сохранению legacy-файла `set_status.js`. ### Проверка после исправлений - Все frontend `.js` файлы проходят `node --input-type=module --check`. - `site/app.py` проходит `python3 -m py_compile`. - ZIP-функциональность в браузере сохранена: разрешённые leaf-файлы приняты, `.exe` отфильтрован. - Общий `rebaseTree` загружается, дублированных реализаций нет. - `api.setBusy` отсутствует в публичном API.