docs: update TODO.md with completed background tasks and book mining

This commit is contained in:
Antigravity committed 2026-10-06 16:36:56 +03:00
1 parent c9da5bd351
commit 6a6b165c7a
1 file changed
+22
+22
View File
@@ -347,6 +347,28 @@
---
### 16.2. ⚡ Фоновые задачи и генерация тестов CEFR из загруженных книг (Background Tasks & Book Mining)
- [x] **Zero-Daemon менеджер фоновых задач (`app/tasks.py`)**:
- Таблица SQLite `background_tasks` (id, user_id, task_type, status, progress_current, progress_total, message, params_json, result_json, error_message).
- Асинхронное исполнение через чистый `asyncio.create_task` без Celery, Redis и внешних брокеров (100% Ponytail).
- Кооперативная отмена задач (`cancel_task`, `is_task_cancelled`).
- Эндпоинты API: `POST /api/tasks/mine-books`, `GET /api/tasks/active`, `GET /api/tasks/{task_id}`, `POST /api/tasks/{task_id}/cancel`.
- [x] **Движок анализа и майнинга предложений из книг (`app/miner.py`)**:
- Разбиение текста глав на чистые предложения с защитой английских инициалов и сокращений (`Mr.`, `Mrs.`, `Dr.`, `Prof.`, `St.`, `Jr.`).
- Сопоставление с лексической шкалой Oxford 3000/5000 (A1..B2) и базой частей речи.
- Подбор грамматически и лексически корректных дистракторов того же уровня CEFR и части речи.
- Формирование 4-вариантных заданий Cloze Tap со скрытием ключевого слова `___`.
- Защита от дубликатов предложений через `UNIQUE(level, sentence)` в SQLite.
- Автоматическая очистка русскоязычного глоссария (`clean_translation`) от паразитных латинских транслитов Викисловаря.
- [x] **Интерфейс в веб-приложении (PWA)**:
- Кнопка `⚡ Собрать тесты из книг` в шапке тестов CEFR.
- Модальное окно с выбором книги (или всей библиотеки), целевого уровня (A1..B2 / ALL) и количества вопросов.
- Интерактивный фоновый баннер со спиннером, живым счетчиком прогресса `X / Y (%)` и кнопкой отмены задачи.
- Бейджик источника `📖 «Название книги» (Глава)` в карточке вопроса и в разборе ответа.
- [x] Автоматический тест `test_background_tasks_and_book_mining` в `tests/test_api.py` (30/30 тестов успешно пройдены).
---
### 17. 🍔 Разгрузка хеддера и единая навигация через боковое меню / Drawer (Unified Navigation & Header Redesign)
- [ ] **Проблема перегруженного хеддера**:
- В шапке скопилось 8+ кнопок (`📚 Читалка`, `🎯 Тесты CEFR`, `📖 Грамматика`, `🎓 Тренажёр`, `📊 Статистика`, `📤 Экспорт`, тема, шестеренка, профиль), на экранах планшетов и ноутбуков возникает переполнение и визуальный шум.