# Portability: SYSTEM
# Last validated: 2026-05-17
# Next review: 2027-05-17

USECASES — тестовые сценарии рабочего процесса и система TUeV
-----------------------------------------------

ОПИСАНИЕ
------------
Usecases являются частью системы BACH-TUeV и служат для:
  1. ТЕСТИРОВАНИЕ ФУНКЦИЙ Проверяет работоспособность рабочего процесса?
  2. ГАРАНТИЯ КАЧЕСТВА Все компоненты работают вместе?
  3. ТРЕБОВАНИЯ Что реализовано, чего еще не хватает?

Usecases хранятся в базе данных SQLite (таблица: usecases)
и связаны с рабочими процессами (таблица workflow_tuev).
`workflow_path` не является обязательным: старые или более грубые тестовые примеры могут
иметь название области/категории. `bach usecase run` в любом случае должен быть
запустите и отобразите тестовый пример в режиме ручного ввода данных.

Обработчик: system/hub/tuev.py (TuevHandler + UsecaseHandler)

USECASE FORMAT
--------------

  USECASE_NNN: Краткое название

  ПРЕДУСЛОВИЕ: Что должно присутствовать?
  ВВОД: Что вводит пользователь/какие данные доступны?
  ОЖИДАНИЕ: Каким должен быть результат?
  ПРОВЕРКИ: Какие компоненты тестируются?

ТЕКУЩИЕ СЛУЧАИ ИСПОЛЬЗОВАНИЯ
-----------------
Сценарии использования теперь находятся в БД (таблица вариантов использования).
Объявления с: список вариантов использования bach

Исторические идентификаторы вариантов использования (из старой системы задач):
  USECASE_001 Возобновить агент
  USECASE_002 Офисный сканер линз
  USECASE_003 Поиск документов
  USECASE_004 Врач сообщает о щитовидной железе
  USECASE_005 Бытовые процедуры
  USECASE_006 Советы по страхованию

Просмотр текущих вариантов использования в базе данных:
  bach usecase list
  bach db query "SELECT id, title, workflow_name, test_result FROM usecases"

ИСПОЛЬЗОВАТЕЛЬСКИЙ СЛУЧАЙ КАК ТЕСТ
----------------
  Вариант использования проверяет полный прокол:

  Пользовательский ввод -> Агент/Навык -> Инструменты -> БД -> Результат

  Это автоматически подтверждает:
  - Команды CLI работают?
  - Схема БД правильная?
  - Инструменты имеются и доступны?
  - Файлы справки обновлены?
  - Инжекторы срабатывают по ключевым словам?
  - Результат можно использовать и правильный?

ИСПОЛЬЗОВАНИЕ КАК ТРЕБОВАНИЕ
------------------------
  Неудачные примеры использования выявляют пробелы:
  - Отсутствующие инструменты -> задание на создание инструмента
  - Отсутствуют команды CLI -> Задача для обработчика CLI.
  - Отсутствуют таблицы БД -> задача по расширению схемы
  - Отсутствующие рабочие процессы -> задача создания рабочего процесса

  Всегда приветствуются новые идеи использования:
    bach task add "USECASE_NNN Kurztitel: Beschreibung" --prio P3

ОБРАТНАЯ СВЯЗЬ В ЦИКЛ РАЗРАБОТКИ
-----------------------------------------

  Этап 8 (варианты использования)
       │
       ├── Не удалось? -> Новая задача на этапе 1
       ├── Успешный?    -> Функция проверена
       └── Новая идея?      -> Новая задача сценария использования

  Варианты использования относятся к фазе 8 в цикле разработки (см.: bach --help dev)

КОМАНДЫ CLI
-----------

УПРАВЛЕНИЕ СИСТЕМАМИ ИСПОЛЬЗОВАНИЯ:
  bach usecase list [workflow]       Все тестовые случаи (с возможностью фильтрации)
  bach usecase add <workflow>        Примечания по добавлению (шаблон SQL)
  bach usecase show <id>             Показать подробности тестового примера
  bach usecase run <id>              Выполнить один тестовый пример
  bach usecase run-all <workflow>    Все тесты рабочих процессов

TUeV АДМИНИСТРИРОВАНИЕ:
  bach tuev status                   Состояние TUeV всех рабочие процессы
  bach tuev check <workflow>         Проверить отдельные рабочие процессы
  bach tuev run                      Все необходимые проверки
  bach tuev renew <workflow>         Обновить TUeV после проверки
  bach tuev init                     Зарегистрировать рабочие процессы из навыков/рабочих процессов/

СОЗДАТЬ ИСПОЛЬЗОВАНИЕ
-----------------
Случаи использования вставляются непосредственно в БД:

  bach db query "INSERT INTO usecases (title, description, workflow_name, test_input, expected_output, created_by) VALUES ('Testfall-Titel', 'Beschreibung', 'workflow-name', '{}', '{}', 'user')"

Или через графический интерфейс: /usecases (если работает сервер с графическим интерфейсом)

ПОКРЫТИЕ КОМПОНЕНТОВ
---------------------
  Хорошие варианты использования охватывают разные области:

  Пример области использования
  --------------- ------------------------------------------
  OCR и документы USECASE_004 (отчеты врачей)
  Поиск USECASE_003 (поиск документов)
  Поколение USECASE_001 (CV)
  Домашнее хозяйство USECASE_005 (рутины)
  Финансы USECASE_006 (страхование)
  Сканер USECASE_002 (Офисный объектив)

  Еще не рассмотрено (идеи):
  - Налоговый документооборот (сквозной: получение -> экспорт)
  - Делегирование партнеров (Клод -> Близнецы -> результат)
  - Резервное копирование и восстановление (Резервное копирование -> Восстановление)
  - Координация нескольких LLM

СТРУКТУРА БАЗЫ ДАННЫХ
------------------
  Таблица: варианты использования
    - идентификатор, название, описание
    - имя_рабочего_процесса, путь_рабочего_процесса
    - test_input (JSON), ожидаемый_выход (JSON)
    - последнее_тестирование, test_result, test_score
    - создано_по, создано_в, обновлено_в

  Таблица: workflow_tuev
    - имя_рабочего_процесса, путь_рабочего_процесса
    - tuev_status, last_tuev_date, tuev_valid_until
    - avg_score, test_count, pass_count

СМОТРИ ТАКЖЕ
----------
  bach tuev status                          Информационная панель TUeV
  bach --help dev                           Цикл разработки (8 этапов)
  bach --help test                          Процедуры технических испытаний (B/O/E)
  system/skills/workflows/dev-cycle.md Подробный рабочий процесс разработки
  system/hub/tuev.py реализация обработчика
  Схема БД system/db/schema.sql (использования + workflow_tuev)

---
Версия: 1.1.0 | Создано: 28 января 2026 г. | Обновлено: 8 февраля 2026 г.
