docs: обновить baseline после hotfix действий статей
This commit is contained in:
@@ -92,7 +92,7 @@ progress `:8083`, web `:8090`. Интерфейс: `http://localhost:8090`.
|
|||||||
отдельной CI VM: Woodpecker Docker backend, nested dind, Java 21,
|
отдельной CI VM: Woodpecker Docker backend, nested dind, Java 21,
|
||||||
Docker Compose v2, Python 3, Node и Chromium/Firefox/WebKit. Установка —
|
Docker Compose v2, Python 3, Node и Chromium/Firefox/WebKit. Установка —
|
||||||
[`deploy/WOODPECKER.md`](deploy/WOODPECKER.md).
|
[`deploy/WOODPECKER.md`](deploy/WOODPECKER.md).
|
||||||
Baseline: **51 claim, 346 тестов, 18/18 browser E2E**.
|
Baseline: **51 claim, 348 тестов, 18/18 browser E2E**.
|
||||||
|
|
||||||
## Запуск в Docker (для сервера)
|
## Запуск в Docker (для сервера)
|
||||||
|
|
||||||
|
|||||||
@@ -336,7 +336,7 @@ identity V13, **academic V12**, progress V13.
|
|||||||
- **Этап 6 — выполнен.** Права преподавателя на запись (лабораторные,
|
- **Этап 6 — выполнен.** Права преподавателя на запись (лабораторные,
|
||||||
ведомость, группы, материалы), центральный аудит `identity.audit_events`
|
ведомость, группы, материалы), центральный аудит `identity.audit_events`
|
||||||
с `/admin/audit`, CI merge gate и полный hardening. Проверены прогон
|
с `/admin/audit`, CI merge gate и полный hardening. Проверены прогон
|
||||||
тестов/линтеров (**346**, 0 failures), upgrade миграций с master-схемы
|
тестов/линтеров (**348**, 0 failures), upgrade миграций с master-схемы
|
||||||
(identity `V4–V13`, academic `V6–V12`, progress `V13`), security-матрица,
|
(identity `V4–V13`, academic `V6–V12`, progress `V13`), security-матрица,
|
||||||
gateway, видимость активов и deploy-runbook. LDD baseline: **51 claims
|
gateway, видимость активов и deploy-runbook. LDD baseline: **51 claims
|
||||||
(25 P0 / 26 P1), 51/51 proven**, browser E2E 18/18 (3 браузера). Отчёт:
|
(25 P0 / 26 P1), 51/51 proven**, browser E2E 18/18 (3 браузера). Отчёт:
|
||||||
|
|||||||
@@ -68,12 +68,12 @@
|
|||||||
| identity-service | 98 | 0 | 0 | 0 |
|
| identity-service | 98 | 0 | 0 | 0 |
|
||||||
| academic-service | 99 | 0 | 0 | 0 |
|
| academic-service | 99 | 0 | 0 | 0 |
|
||||||
| progress-service | 36 | 0 | 0 | 0 |
|
| progress-service | 36 | 0 | 0 | 0 |
|
||||||
| web | 106 | 0 | 0 | 0 |
|
| web | 108 | 0 | 0 | 0 |
|
||||||
| gateway | 2 | 0 | 0 | 0 |
|
| gateway | 2 | 0 | 0 | 0 |
|
||||||
| markdown | 5 | 0 | 0 | 0 |
|
| markdown | 5 | 0 | 0 | 0 |
|
||||||
| **Итого на момент этапа 6** | **346** | **0** | **0** | **0** |
|
| **Итого на момент этапа 6** | **348** | **0** | **0** | **0** |
|
||||||
|
|
||||||
После закрытия рисков актуальный LDD-baseline — **346 тестов, 0 failures**
|
После закрытия рисков актуальный LDD-baseline — **348 тестов, 0 failures**
|
||||||
(см. раздел 7). `ktlintCheck` и `detekt` прошли без замечаний. У gateway теперь есть unit-тесты публичных auth-путей и 401; маршрутизация
|
(см. раздел 7). `ktlintCheck` и `detekt` прошли без замечаний. У gateway теперь есть unit-тесты публичных auth-путей и 401; маршрутизация
|
||||||
gateway дополнительно проверена конфигурацией и security-матрицей ниже.
|
gateway дополнительно проверена конфигурацией и security-матрицей ниже.
|
||||||
Тот же набор команд выполняет `.woodpecker/` (Gitea + Woodpecker 3.x); на
|
Тот же набор команд выполняет `.woodpecker/` (Gitea + Woodpecker 3.x); на
|
||||||
@@ -133,7 +133,7 @@ gateway дополнительно проверена конфигурацией
|
|||||||
|
|
||||||
### 2.3. Security-проверки
|
### 2.3. Security-проверки
|
||||||
|
|
||||||
Проверено автоматическими тестами (актуальный прогон — 346 тестов, 0 failures)
|
Проверено автоматическими тестами (актуальный прогон — 348 тестов, 0 failures)
|
||||||
и разбором конфигурации gateway. Запись преподавателя дополнительно покрыта
|
и разбором конфигурации gateway. Запись преподавателя дополнительно покрыта
|
||||||
negative-тестами «свой/чужой курс».
|
negative-тестами «свой/чужой курс».
|
||||||
|
|
||||||
@@ -350,7 +350,7 @@ web-сессия с отзывом и абсолютным потолком, key
|
|||||||
LDD-контур: реестр `docs/evidence/claims.json` (**51 claims, 25 P0 / 26 P1**),
|
LDD-контур: реестр `docs/evidence/claims.json` (**51 claims, 25 P0 / 26 P1**),
|
||||||
gate `./gradlew evidenceCheck`, upgrade-скрипт, runtime-smoke, smoke-workflow,
|
gate `./gradlew evidenceCheck`, upgrade-скрипт, runtime-smoke, smoke-workflow,
|
||||||
mutation testing и браузерный Playwright E2E. Результат:
|
mutation testing и браузерный Playwright E2E. Результат:
|
||||||
**51/51 claims proven, P0 gaps = 0, 346 тестов, 0 failures**; mutation strength
|
**51/51 claims proven, P0 gaps = 0, 348 тестов, 0 failures**; mutation strength
|
||||||
`CourseAccessService` 75%, `PromotionPlanner` 69%; browser E2E 18/18 (6 сценариев × Chromium/Firefox/WebKit);
|
`CourseAccessService` 75%, `PromotionPlanner` 69%; browser E2E 18/18 (6 сценариев × Chromium/Firefox/WebKit);
|
||||||
конкурентные apply/rollback и масштабный нагрузочный smoke (100 групп /
|
конкурентные apply/rollback и масштабный нагрузочный smoke (100 групп /
|
||||||
1000 студентов, 125 параллельных чтений, 0 ошибок, p95 < 1 с) зелёные.
|
1000 студентов, 125 параллельных чтений, 0 ошибок, p95 < 1 с) зелёные.
|
||||||
|
|||||||
@@ -62,6 +62,9 @@
|
|||||||
`/admin/legacy-assets` и `scripts/legacy-assets.sh` для работы со стендом.
|
`/admin/legacy-assets` и `scripts/legacy-assets.sh` для работы со стендом.
|
||||||
- Старые прямые ссылки на бесхозные файлы у обычных пользователей ломаются
|
- Старые прямые ссылки на бесхозные файлы у обычных пользователей ломаются
|
||||||
осознанно.
|
осознанно.
|
||||||
|
- Студенческие страницы материалов не показывают админские действия статей
|
||||||
|
(удаление/правка/публикация/перемещение); регрессия закрыта тестом
|
||||||
|
`LearnSectionTemplateTest` в master-хотфиксе `920d96a`.
|
||||||
|
|
||||||
**JWT и сессия**
|
**JWT и сессия**
|
||||||
- Access JWT: **15 минут** (`LMS_ACCESS_TOKEN_TTL`).
|
- Access JWT: **15 минут** (`LMS_ACCESS_TOKEN_TTL`).
|
||||||
@@ -114,7 +117,7 @@
|
|||||||
|
|
||||||
- Реестр: `docs/evidence/claims.json`.
|
- Реестр: `docs/evidence/claims.json`.
|
||||||
- **51 claim**: 25 P0 + 26 P1; **51/51 proven, P0 gaps = 0**.
|
- **51 claim**: 25 P0 + 26 P1; **51/51 proven, P0 gaps = 0**.
|
||||||
- **346 автотестов**, 0 failures/errors/skipped.
|
- **348 автотестов**, 0 failures/errors/skipped.
|
||||||
- Mutation testing:
|
- Mutation testing:
|
||||||
- `CourseAccessService` — 75% test strength;
|
- `CourseAccessService` — 75% test strength;
|
||||||
- `PromotionPlanner` — 69%.
|
- `PromotionPlanner` — 69%.
|
||||||
@@ -191,7 +194,7 @@ cat build/reports/evidence/index.md
|
|||||||
```
|
```
|
||||||
|
|
||||||
Последний подтверждённый результат:
|
Последний подтверждённый результат:
|
||||||
- `346` тестов, 0 failures;
|
- `348` тестов, 0 failures;
|
||||||
- `51/51` claims;
|
- `51/51` claims;
|
||||||
- `ldd-release.sh` — PASS;
|
- `ldd-release.sh` — PASS;
|
||||||
- smoke — PASS;
|
- smoke — PASS;
|
||||||
@@ -272,7 +275,7 @@ cat build/reports/evidence/index.md
|
|||||||
`feature/groups-courses`.
|
`feature/groups-courses`.
|
||||||
2. Прочитать этот файл, затем `docs/16-stage6-report.md` §7 и
|
2. Прочитать этот файл, затем `docs/16-stage6-report.md` §7 и
|
||||||
`docs/evidence/baseline-2026-10-27.md`.
|
`docs/evidence/baseline-2026-10-27.md`.
|
||||||
3. `./gradlew test ktlintCheck detekt evidenceCheck` — должно быть 346 тестов
|
3. `./gradlew test ktlintCheck detekt evidenceCheck` — должно быть 348 тестов
|
||||||
и 51/51 claims.
|
и 51/51 claims.
|
||||||
4. Для release-проверки: `./scripts/ldd-release.sh`.
|
4. Для release-проверки: `./scripts/ldd-release.sh`.
|
||||||
5. Для быстрой проверки: `./scripts/ldd-smoke.sh` и `./scripts/ci-preflight.sh`.
|
5. Для быстрой проверки: `./scripts/ldd-smoke.sh` и `./scripts/ci-preflight.sh`.
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ Preview Mermaid Support) и в IntelliJ IDEA (плагин Mermaid).
|
|||||||
| [16-stage6-report.md](16-stage6-report.md) | Отчёт этапа 6: права преподавателя на запись, аудит, CI, upgrade-тест миграций, security-матрица, чек-лист деплоя и остаточные ограничения |
|
| [16-stage6-report.md](16-stage6-report.md) | Отчёт этапа 6: права преподавателя на запись, аудит, CI, upgrade-тест миграций, security-матрица, чек-лист деплоя и остаточные ограничения |
|
||||||
| [17-handoff.md](17-handoff.md) | Handoff: что уже внесено, что осталось, как восстановить контекст и прогнать проверки |
|
| [17-handoff.md](17-handoff.md) | Handoff: что уже внесено, что осталось, как восстановить контекст и прогнать проверки |
|
||||||
| [evidence/README.md](evidence/README.md) | LDD: реестр утверждений, evidence gate, runtime- и migration-проверки |
|
| [evidence/README.md](evidence/README.md) | LDD: реестр утверждений, evidence gate, runtime- и migration-проверки |
|
||||||
| [evidence/baseline-2026-10-27.md](evidence/baseline-2026-10-27.md) | LDD-baseline: 51 claims, 346 тестов, upgrade, runtime/scale, mutation и browser E2E |
|
| [evidence/baseline-2026-10-27.md](evidence/baseline-2026-10-27.md) | LDD-baseline: 51 claims, 348 тестов, upgrade, runtime/scale, mutation и browser E2E |
|
||||||
| [ADR 0001](adr/0001-groups-courses-foundation.md) | Ключевые архитектурные решения: курс C, миграции, доступ, статусы, повышение |
|
| [ADR 0001](adr/0001-groups-courses-foundation.md) | Ключевые архитектурные решения: курс C, миграции, доступ, статусы, повышение |
|
||||||
|
|
||||||
## Кратко о системе
|
## Кратко о системе
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ Platform 6 из Spring Boot 4.
|
|||||||
LDD-циклы выполнены 2026-10-27/28; последний — после закрытия продуктовых
|
LDD-циклы выполнены 2026-10-27/28; последний — после закрытия продуктовых
|
||||||
рисков:
|
рисков:
|
||||||
|
|
||||||
- **346 автоматических тестов**, 0 failures/errors;
|
- **348 автоматических тестов**, 0 failures/errors;
|
||||||
- **51 claims**: 25 P0 + 26 P1, **51/51 proven, P0 gaps = 0**. P0 — доступы,
|
- **51 claims**: 25 P0 + 26 P1, **51/51 proven, P0 gaps = 0**. P0 — доступы,
|
||||||
повышение, жизненный цикл, профиль/скачивание, материалы/активы
|
повышение, жизненный цикл, профиль/скачивание, материалы/активы
|
||||||
(включая secure-by-default legacy-файлы), миграции V11–V13, аудит,
|
(включая secure-by-default legacy-файлы), миграции V11–V13, аудит,
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ Playwright. В ходе проверки найден и исправлен ре
|
|||||||
./gradlew test --rerun-tasks
|
./gradlew test --rerun-tasks
|
||||||
```
|
```
|
||||||
|
|
||||||
Результат: **346 тестов, 0 failures, 0 errors, 0 skipped**.
|
Результат: **348 тестов, 0 failures, 0 errors, 0 skipped**.
|
||||||
`ktlintCheck` и `detekt` — зелёные.
|
`ktlintCheck` и `detekt` — зелёные.
|
||||||
|
|
||||||
### 2.2. LDD gate
|
### 2.2. LDD gate
|
||||||
@@ -307,7 +307,7 @@ optional json fields`.
|
|||||||
## 5. Вывод
|
## 5. Вывод
|
||||||
|
|
||||||
Текущая функциональность прошла LDD-контур: **51/51 claims proven, P0 gaps = 0**,
|
Текущая функциональность прошла LDD-контур: **51/51 claims proven, P0 gaps = 0**,
|
||||||
**346 тестов**, upgrade, mutation baseline, 18/18 browser E2E, smoke и
|
**348 тестов**, upgrade, mutation baseline, 18/18 browser E2E, smoke и
|
||||||
масштабный load зелёные. Это достаточное основание продолжать доработки, но не
|
масштабный load зелёные. Это достаточное основание продолжать доработки, но не
|
||||||
«формальное доказательство всей системы».
|
«формальное доказательство всей системы».
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user