diff --git a/SPRINTS.md b/SPRINTS.md index 8200703..c306b35 100644 --- a/SPRINTS.md +++ b/SPRINTS.md @@ -87,6 +87,35 @@ --- +## Спринт 2.5. Доработки после пилота Спринтов 1–2 + +### Цель +Закрыть технический долг, накопленный за первые два спринта: почистить чанки от markdown-мусора, сделать ответ агента читаемым в UI, подготовить системный промпт к вынесению в редактор (Спринт 3) и навести порядок в логах и README. + +### Статус: ⏳ Запланирован + +### Задачи + +**Качество RAG:** +- [ ] Почистить чанки: убрать markdown-ссылки `[текст](url)`, блоки навигации `**Вернуться на:**`, дубликаты меню; добавить нормализацию/переиндексацию текущей базы (или documented reindex procedure) + +**UI:** +- [ ] Markdown-рендер ответов ассистента в «Песочнице» (жирный, курсив, списки, код); реплики пациента оставить plain text + +**Системность:** +- [ ] Вынести системный промпт из `services/llm_client.py` в отдельный файл (например, `prompts/system_prompt.md`), загружать при старте — задел под Спринт 3 +- [ ] Привести логи в порядок: настроить root-logger так, чтобы `logger.exception` писался в stderr/файл; не ломать uvicorn access/error +- [ ] Обновить `README.md` под текущее состояние: две страницы, `/chat` + `/threads`, SQLite + Alembic, как запустить и как мигрировать + +### Критерий готовности +- [ ] Загружаем свежую wiki-статью → в её чанках нет markdown-ссылок и блоков «Вернуться на:» +- [ ] На «Песочнице» ответ агента рендерится с жирным/курсивом/списками +- [ ] Системный промпт хранится в отдельном файле, правится без трогания кода +- [ ] При ошибке в `/chat` в логах виден читаемый traceback +- [ ] README описывает актуальное состояние (две страницы, эндпоинты, запуск, миграции) + +--- + ## Спринт 3. Настройки агента: системный промпт и правила ### Цель