docs: уточнить остаточные P1/P2 после импорта
This commit is contained in:
@@ -79,24 +79,35 @@
|
|||||||
- Старые комментарии без автора показывают «автор не указан».
|
- Старые комментарии без автора показывают «автор не указан».
|
||||||
- Студенческий профиль не показывает черновики лабораторных.
|
- Студенческий профиль не показывает черновики лабораторных.
|
||||||
|
|
||||||
|
10. **Импорт: ошибки до записи.**
|
||||||
|
- Занятый логин и неактивная целевая группа возвращают `applied=false`
|
||||||
|
с номером строки и не создают частичных записей.
|
||||||
|
- Тесты: `GroupServiceIntegrationTest#import reports occupied login...`,
|
||||||
|
`#import reports inactive target group...`.
|
||||||
|
|
||||||
## 3. Остаточные отличия от цели
|
## 3. Остаточные отличия от цели
|
||||||
|
|
||||||
### P1
|
### P1
|
||||||
|
|
||||||
- **Импорт: ошибки БД.** Занятый логин и неактивная группа теперь дают
|
|
||||||
row-level `applied=false`; неожиданные DB-ошибки вне preflight всё ещё
|
|
||||||
откатывают транзакцию без построчного отчёта.
|
|
||||||
- **Догон повышения.** `ensureScheduledDryRun` до 31 августа возвращает `null`
|
|
||||||
и не создаёт план за предыдущий год; после долгого простоя в январе
|
|
||||||
пропущенный август не догоняется.
|
|
||||||
- **Профиль: контракт.** Браузерные маршруты используют UUID курса, а docs/09
|
- **Профиль: контракт.** Браузерные маршруты используют UUID курса, а docs/09
|
||||||
обещает `courseNo`; часть полей `variant/level/grade` отличается от контракта.
|
обещает `courseNo`; часть полей `variant/level/grade` отличается от контракта.
|
||||||
Нужно либо привести код к контракту, либо официально обновить контракт.
|
Нужно либо привести код к контракту, либо официально обновить контракт.
|
||||||
- **Backup restore на staging** не подтверждён артефактом/логом.
|
- **Backup restore на staging** не подтверждён артефактом/логом.
|
||||||
- **Первый реальный CI pipeline** на Woodpecker VM не подтверждён.
|
- **Первый реальный CI pipeline** на Woodpecker VM не подтверждён.
|
||||||
|
|
||||||
|
### Осознанные границы
|
||||||
|
|
||||||
|
- **Автоматический догон повышения за предыдущий календарный год не делаем.**
|
||||||
|
Планировщик не может безопасно восстановить историческое состояние групп:
|
||||||
|
текущие `course` уже могут быть изменены. Догон в том же году после 31 августа
|
||||||
|
работает; для прошлого года админ запускает dry-run с явным годом и проверяет
|
||||||
|
план вручную. Это защищает от повторного повышения по устаревшему состоянию.
|
||||||
|
|
||||||
### P2
|
### P2
|
||||||
|
|
||||||
|
- **Импорт: гонка и XLSX-отчёт.** Preflight закрывает известные конфликты,
|
||||||
|
но гонка с параллельной вставкой логина всё ещё даёт общий 409; XLSX-строки
|
||||||
|
новых preflight-тестов не покрыты (CSV покрыт).
|
||||||
- Когорта: поля всё ещё nullable, уникальность частичная; нужен preflight и
|
- Когорта: поля всё ещё nullable, уникальность частичная; нужен preflight и
|
||||||
финальный `SET NOT NULL`/полный unique index после ручного разбора legacy.
|
финальный `SET NOT NULL`/полный unique index после ручного разбора legacy.
|
||||||
- Нет восстановления группы из архива (сейчас архив односторонний).
|
- Нет восстановления группы из архива (сейчас архив односторонний).
|
||||||
|
|||||||
Reference in New Issue
Block a user