From a738d56682db3940460de2fd1c240416a091ebcd Mon Sep 17 00:00:00 2001 From: andrew Date: Wed, 2 Sep 2026 16:41:16 +0300 Subject: [PATCH] Add docs/FINAL_CHECKLIST.md --- docs/FINAL_CHECKLIST.md | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 docs/FINAL_CHECKLIST.md diff --git a/docs/FINAL_CHECKLIST.md b/docs/FINAL_CHECKLIST.md new file mode 100644 index 0000000..c3ec476 --- /dev/null +++ b/docs/FINAL_CHECKLIST.md @@ -0,0 +1,39 @@ +# Финальный чек-лист тестирования (релиз 1.0.0) + +Прогон на каждой ОС (Ubuntu 22.04/24.04 и macOS 12+). Автоматические проверки +выполняются в CI (GitHub Actions: `ubuntu-latest`, `macos-latest`); ручные — +в терминале. + +## Автоматически (CI: `make test lint typecheck`) + +- [x] Установка: `python3 -m venv .venv && .venv/bin/pip install -e ".[dev]"` +- [x] CLI entry point: `selectel-ml-tui --version` → 1.0.0 +- [x] Первый запуск без токена: подсказка + exit code 1 +- [x] Линт: `ruff check src tests` +- [x] Типы: `mypy src` (strict) +- [x] Тесты: `pytest --cov=selectel_ml_tui` (порог 80%) +- [x] Диагностика: `selectel-ml-tui doctor` + +## Ручные проверки (обе ОС) + +| # | Проверка | Ожидание | +|---|---|---| +| 1 | `./scripts/install_ubuntu.sh` / `install_macos.sh` | установка без ошибок | +| 2 | `selectel-ml-tui config` | мастер сохраняет токен (права 0600) | +| 3 | `selectel-ml-tui run` | запуск дашборда, статус `online` | +| 4 | Данные: сумма за месяц | значение > 0, формат `1 234,56 ₽` | +| 5 | Метрики/модели | таблица «По моделям», Enter → детали | +| 6 | Кэш | история (`h`) показывает точки за дни | +| 7 | Экспорт | `export --format csv/json` создаёт файл | +| 8 | Офлайн (отключить сеть, `r`) | заголовок `offline`, данные из кэша | +| 9 | Ресайз окна | интерфейс перерисовывается, нет обрезки | +| 10 | Клавиши `r/h/s/q`, `Esc` | навигация работает | +| 11 | Русский текст | корректное отображение (UTF-8) | +| 12 | `doctor` | все `[OK]`, пути существуют | + +## Отметка выполнения + +- Ubuntu: ____ +- macOS: ____ + +Комментарии/проблемы: ____