docs: итоговый отчёт и оставшиеся разрывы
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
# 08. План реализации: группы, курсы, преподаватели
|
||||
|
||||
**Статус:** план согласован, этапы 0–4 выполнены, этапы 5–6 — в работе.
|
||||
**Статус:** план согласован, этапы 0–5 выполнены. Проверка этапа 6 выполнена
|
||||
(тесты, upgrade миграций, security, deploy-runbook), но этап 6 закрыт не
|
||||
полностью: остаются права преподавателя на запись, видимость активов и CI —
|
||||
см. § 9.1 и [16-stage6-report.md](16-stage6-report.md).
|
||||
**Основа:** [07-groups-courses.md](07-groups-courses.md).
|
||||
**Дата решений:** 2026-10-23.
|
||||
|
||||
@@ -311,12 +314,35 @@ identity V9, **academic V11**, progress V13 (+V14 при необходимос
|
||||
31 августа МСК и догон), жизненный цикл студента, архив группы,
|
||||
усиленное подтверждение удаления, блокировка входа для архивных
|
||||
и выпущенных групп. Отчёт: [14-stage4-report.md](14-stage4-report.md).
|
||||
- **Этап 5 — остаётся.** UX и контент: студенческие страницы курсов,
|
||||
материалы по `/learn/course/{course_no}/...` и аудитории, наследуемая
|
||||
видимость активов, публичные материалы `ALL`.
|
||||
- **Этап 6 — остаётся.** Hardening: полная security-матрица,
|
||||
upgrade-тест миграций, аудит, индексы/пагинация, backup/restore,
|
||||
документация и smoke.
|
||||
- **Этап 5 — выполнен.** Студенческие страницы курсов, материалы по
|
||||
`/learn/course/{course_no}/...` и аудитории, публичные материалы `ALL`,
|
||||
скрытые материалы для преподавателя, перепроверка статуса web-сессии.
|
||||
Отчёт: [15-stage5-course-materials.md](15-stage5-course-materials.md).
|
||||
- **Этап 6 — проверка выполнена, закрыт не полностью.** Проверены полный
|
||||
прогон тестов/линтеров, upgrade миграций с master-схемы, security-матрица,
|
||||
gateway и deploy-runbook. Отчёт: [16-stage6-report.md](16-stage6-report.md).
|
||||
Не закрыты: права преподавателя на запись, видимость активов, аудит
|
||||
скачиваний и CI. Остальные пункты hardening (индексы, backup/restore,
|
||||
документация, smoke) описаны в отчёте и чек-листе.
|
||||
|
||||
### 9.1. Известные пробелы после этапа 6
|
||||
|
||||
- **Активы публичны.** `/api/v1/content/assets/{name}` не проверяет курс и
|
||||
статью; нужна проверка `article_assets → article → section → chapter` и
|
||||
visibility-aware маршруты.
|
||||
- **Преподаватель — в основном read-only.** Авторство лабораторных/материалов,
|
||||
распределение, оценки, комментарии и защита остаются admin-only в UI/API;
|
||||
ТЗ ожидает преподавательский self-service.
|
||||
- **Имена групп в кабинете преподавателя.** На странице курса показывается
|
||||
UUID группы, batch-разрешения имён нет.
|
||||
- **Аудит.** Есть история членства и журнал повышения, но нет audit-log
|
||||
скачиваний, просмотров профилей, назначений и публикаций.
|
||||
- **Импорт.** Старый формат не поддерживается; ведущие нули номера группы
|
||||
нормализуются (`01` → `1`).
|
||||
- **JWT 30 дней.** Web перепроверяет статус каждые 45 секунд, но прямой API
|
||||
с уже выданным токеном живёт до истечения.
|
||||
- **CI отсутствует.** Гейт — локальный `./gradlew test ktlintCheck detekt`;
|
||||
автоматического pipeline и upgrade-теста в CI нет.
|
||||
|
||||
## 10. Definition of Done
|
||||
|
||||
|
||||
Reference in New Issue
Block a user