chore(specs): move clean-repo-enterprise spec from 020 to 023

This commit is contained in:
2026-03-03 19:50:53 +03:00
parent da24fb9253
commit 19898b1570
10 changed files with 1549 additions and 0 deletions

View File

@@ -0,0 +1,108 @@
# Quickstart: Enterprise Clean Compliance (TUI)
## Purpose
Этот quickstart описывает минимальный операционный путь проверки enterprise clean-поставки в изолированной сети компании:
- без внешнего интернета;
- только с внутренними серверами ресурсов;
- с блокировкой релиза при нарушениях.
## Prerequisites
1. Есть релиз-кандидат (`candidate_id`) для проверки.
2. Активна политика `enterprise-clean`.
3. Настроен внутренний реестр серверов ресурсов (artifact/git/package mirrors).
4. Внешний интернет для узла проверки недоступен/запрещён согласно корпоративной политике.
5. Доступен TUI-скрипт проверки clean-compliance.
## Step 1 — Запуск TUI
```bash
cd /home/busya/dev/ss-tools
./backend/.venv/bin/python3 -m backend.src.scripts.clean_release_tui
```
Ожидаемое состояние интерфейса после старта: `READY`.
## Step 2 — Выбор релиз-кандидата и профиля
В главном экране TUI:
1. Установить `Candidate = <candidate_id>`.
2. Установить `Profile = enterprise-clean`.
3. Проверить, что отображается список разрешённых внутренних серверов.
## Step 3 — Запуск проверки
Нажать `F5` (Run Check).
Ожидаемый порядок стадий:
1. `Data Purity`
2. `Internal Sources Only`
3. `No External Internet Endpoints`
4. `Manifest Consistency`
Состояние интерфейса: `RUNNING`.
## Step 4A — Успешный результат
Если все стадии `PASS`:
- итоговый статус: `COMPLIANT`;
- отображается `Report ID`;
- доступна выгрузка отчёта (`F6 Export Report`).
Это означает, что релиз-кандидат допускается к следующему этапу выпуска.
## Step 4B — Блокирующий результат
Если хотя бы одна обязательная стадия `FAIL`:
- итоговый статус: `BLOCKED`;
- отображается таблица нарушений с полями:
- категория;
- локация;
- remediation.
Типовые причины:
- найдены test/demo/load-test данные;
- найден внешний endpoint;
- нарушена целостность manifest.
## Step 5 — Recovery Flow
1. Исправить нарушения по рекомендациям в отчёте.
2. Повторно запустить проверку из того же TUI экрана (`F5`).
3. Повторять до статуса `COMPLIANT`.
## CI Gate (обязательный)
После операторского прогона TUI та же политика должна быть проверена в CI.
Релиз допускается только при `COMPLIANT` в CI-прогоне.
## Acceptance Checklist (Operator)
- [ ] Проверка выполнена на профиле `enterprise-clean`
- [ ] Внешние источники не обнаружены
- [ ] Проверка завершена статусом `COMPLIANT`
- [ ] Отчёт выгружен и приложен к релизному пакету
- [ ] Candidate отмечен как готовый к выпуску
## Troubleshooting
### Сценарий: Internal source unavailable
Симптом:
- этап `Internal Sources Only` или `No External Internet Endpoints` завершился с ошибкой доступности.
Действия:
1. Проверить доступность внутреннего сервера ресурсов.
2. Проверить соответствие endpoint реестру разрешённых источников.
3. Перезапустить проверку.
### Сценарий: External source detected
Симптом:
- в нарушениях категория `external-source`.
Действия:
1. Удалить/заменить внешний источник на внутренний сервер из реестра.
2. Подтвердить изменение конфигурации.
3. Перезапустить проверку.