From 9cb4d0d263734ff6229a59cadbc8852dbda6cb15 Mon Sep 17 00:00:00 2001 From: Vladislav Kopnin Date: Thu, 29 Oct 2026 12:04:43 +0300 Subject: [PATCH] =?UTF-8?q?docs:=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20baseline=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=20hotf?= =?UTF-8?q?ix=20=D0=B4=D0=B5=D0=B9=D1=81=D1=82=D0=B2=D0=B8=D0=B9=20=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D1=82=D0=B5=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- docs/08-groups-courses-plan.md | 2 +- docs/16-stage6-report.md | 10 +++++----- docs/17-handoff.md | 9 ++++++--- docs/README.md | 2 +- docs/evidence/README.md | 2 +- docs/evidence/baseline-2026-10-27.md | 4 ++-- 7 files changed, 17 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 79ea262..42561d4 100644 --- a/README.md +++ b/README.md @@ -92,7 +92,7 @@ progress `:8083`, web `:8090`. Интерфейс: `http://localhost:8090`. отдельной CI VM: Woodpecker Docker backend, nested dind, Java 21, Docker Compose v2, Python 3, Node и Chromium/Firefox/WebKit. Установка — [`deploy/WOODPECKER.md`](deploy/WOODPECKER.md). - Baseline: **51 claim, 346 тестов, 18/18 browser E2E**. + Baseline: **51 claim, 348 тестов, 18/18 browser E2E**. ## Запуск в Docker (для сервера) diff --git a/docs/08-groups-courses-plan.md b/docs/08-groups-courses-plan.md index 3761149..5cab282 100644 --- a/docs/08-groups-courses-plan.md +++ b/docs/08-groups-courses-plan.md @@ -336,7 +336,7 @@ identity V13, **academic V12**, progress V13. - **Этап 6 — выполнен.** Права преподавателя на запись (лабораторные, ведомость, группы, материалы), центральный аудит `identity.audit_events` с `/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-матрица, gateway, видимость активов и deploy-runbook. LDD baseline: **51 claims (25 P0 / 26 P1), 51/51 proven**, browser E2E 18/18 (3 браузера). Отчёт: diff --git a/docs/16-stage6-report.md b/docs/16-stage6-report.md index 45ba95d..3d7b3be 100644 --- a/docs/16-stage6-report.md +++ b/docs/16-stage6-report.md @@ -68,12 +68,12 @@ | identity-service | 98 | 0 | 0 | 0 | | academic-service | 99 | 0 | 0 | 0 | | progress-service | 36 | 0 | 0 | 0 | -| web | 106 | 0 | 0 | 0 | +| web | 108 | 0 | 0 | 0 | | gateway | 2 | 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; маршрутизация gateway дополнительно проверена конфигурацией и security-матрицей ниже. Тот же набор команд выполняет `.woodpecker/` (Gitea + Woodpecker 3.x); на @@ -133,7 +133,7 @@ gateway дополнительно проверена конфигурацией ### 2.3. Security-проверки -Проверено автоматическими тестами (актуальный прогон — 346 тестов, 0 failures) +Проверено автоматическими тестами (актуальный прогон — 348 тестов, 0 failures) и разбором конфигурации gateway. Запись преподавателя дополнительно покрыта negative-тестами «свой/чужой курс». @@ -350,7 +350,7 @@ web-сессия с отзывом и абсолютным потолком, key LDD-контур: реестр `docs/evidence/claims.json` (**51 claims, 25 P0 / 26 P1**), gate `./gradlew evidenceCheck`, upgrade-скрипт, runtime-smoke, smoke-workflow, 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); конкурентные apply/rollback и масштабный нагрузочный smoke (100 групп / 1000 студентов, 125 параллельных чтений, 0 ошибок, p95 < 1 с) зелёные. diff --git a/docs/17-handoff.md b/docs/17-handoff.md index 803d39f..6f31eea 100644 --- a/docs/17-handoff.md +++ b/docs/17-handoff.md @@ -62,6 +62,9 @@ `/admin/legacy-assets` и `scripts/legacy-assets.sh` для работы со стендом. - Старые прямые ссылки на бесхозные файлы у обычных пользователей ломаются осознанно. +- Студенческие страницы материалов не показывают админские действия статей + (удаление/правка/публикация/перемещение); регрессия закрыта тестом + `LearnSectionTemplateTest` в master-хотфиксе `920d96a`. **JWT и сессия** - Access JWT: **15 минут** (`LMS_ACCESS_TOKEN_TTL`). @@ -114,7 +117,7 @@ - Реестр: `docs/evidence/claims.json`. - **51 claim**: 25 P0 + 26 P1; **51/51 proven, P0 gaps = 0**. -- **346 автотестов**, 0 failures/errors/skipped. +- **348 автотестов**, 0 failures/errors/skipped. - Mutation testing: - `CourseAccessService` — 75% test strength; - `PromotionPlanner` — 69%. @@ -191,7 +194,7 @@ cat build/reports/evidence/index.md ``` Последний подтверждённый результат: -- `346` тестов, 0 failures; +- `348` тестов, 0 failures; - `51/51` claims; - `ldd-release.sh` — PASS; - smoke — PASS; @@ -272,7 +275,7 @@ cat build/reports/evidence/index.md `feature/groups-courses`. 2. Прочитать этот файл, затем `docs/16-stage6-report.md` §7 и `docs/evidence/baseline-2026-10-27.md`. -3. `./gradlew test ktlintCheck detekt evidenceCheck` — должно быть 346 тестов +3. `./gradlew test ktlintCheck detekt evidenceCheck` — должно быть 348 тестов и 51/51 claims. 4. Для release-проверки: `./scripts/ldd-release.sh`. 5. Для быстрой проверки: `./scripts/ldd-smoke.sh` и `./scripts/ci-preflight.sh`. diff --git a/docs/README.md b/docs/README.md index c716177..7633084 100644 --- a/docs/README.md +++ b/docs/README.md @@ -26,7 +26,7 @@ Preview Mermaid Support) и в IntelliJ IDEA (плагин Mermaid). | [16-stage6-report.md](16-stage6-report.md) | Отчёт этапа 6: права преподавателя на запись, аудит, CI, upgrade-тест миграций, security-матрица, чек-лист деплоя и остаточные ограничения | | [17-handoff.md](17-handoff.md) | Handoff: что уже внесено, что осталось, как восстановить контекст и прогнать проверки | | [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, миграции, доступ, статусы, повышение | ## Кратко о системе diff --git a/docs/evidence/README.md b/docs/evidence/README.md index 54541d2..3f1478a 100644 --- a/docs/evidence/README.md +++ b/docs/evidence/README.md @@ -87,7 +87,7 @@ Platform 6 из Spring Boot 4. 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 — доступы, повышение, жизненный цикл, профиль/скачивание, материалы/активы (включая secure-by-default legacy-файлы), миграции V11–V13, аудит, diff --git a/docs/evidence/baseline-2026-10-27.md b/docs/evidence/baseline-2026-10-27.md index b4c6758..51aa65b 100644 --- a/docs/evidence/baseline-2026-10-27.md +++ b/docs/evidence/baseline-2026-10-27.md @@ -40,7 +40,7 @@ Playwright. В ходе проверки найден и исправлен ре ./gradlew test --rerun-tasks ``` -Результат: **346 тестов, 0 failures, 0 errors, 0 skipped**. +Результат: **348 тестов, 0 failures, 0 errors, 0 skipped**. `ktlintCheck` и `detekt` — зелёные. ### 2.2. LDD gate @@ -307,7 +307,7 @@ optional json fields`. ## 5. Вывод Текущая функциональность прошла 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 зелёные. Это достаточное основание продолжать доработки, но не «формальное доказательство всей системы».