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

WORKFLOW-TUEV — Обеспечение качества рабочих процессов
--------------------------------------------------

Рабочие процессы — это «мозг» системы. Они должны работать надежно.
Workflow-TUeV гарантирует регулярное тестирование рабочих процессов.

КОНЦЕПЦИЯ
-------

1. ИСПОЛЬЗОВАТЕЛЬСКИЕ ТЕСТЫ
   - Сбор тестовых случаев для каждого рабочего процесса.
   - Определенные входы и ожидаемые результаты
   - Возможно автоматическое выполнение

2. ПРОЦЕДУРА ТУЭВ
   - У каждого рабочего процесса есть срок действия (tuev_valid_until).
   - По истечении срока действия: автоматически создавать задачу обслуживания.
   - После успешной проверки: Новая дата истечения срока действия

3. РЕЙТИНГ
   - очень хорошо (90-100%)
   - хорошо (70-89%)
   - удовлетворительно (50-69%)
   - достаточная (30-49%)
   - не удалось (<30%)
   - Примечание определяет приоритет задач обслуживания

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

BACH TUEV:
  bach tuev status                    Состояние TUeV всех рабочих процессов
  bach tuev check <workflow>          Проверить отдельный рабочий процесс
  bach tuev run                       Все необходимые проверки
  bach tuev renew <workflow>          Обновить TUeV после проверки
  bach tuev init                      Зарегистрировать рабочие процессы в БД

BACH USECASE:
  bach usecase list [workflow]        Показать тестовые примеры
  bach usecase add <workflow>         Добавить новый тестовый пример
  bach usecase run <id>               Выполнить тестовый пример
  bach usecase run-all <workflow>     Все тестовые примеры рабочий процесс
  bach usecase show <id>              Показать подробности тестового примера

СХЕМА БД
---------

сценарии использования:
  идентификатор первичного ключа
  Название тестового примера
  описание Описание тестового примера
  workflow_path Путь к рабочему процессу (навыки/рабочие процессы/...)
  workflow_name Имя рабочего процесса
  test_input JSON: входные данные для теста
  ожидаемый_выход JSON: ожидаемый результат
  Last_tested Последний запуск теста (метка времени)
  test_result пройден/не пройден/ошибка
  test_score оценка 0-100
  tuev_valid_until Дата истечения срока действия этого тестового примера
  создано_пользователем/системой

workflow_tuev:
  идентификатор первичного ключа
  workflow_path Путь к рабочему процессу (УНИКАЛЬНЫЙ)
  workflow_name Имя рабочего процесса
  Last_tuev_date Дата последнего TUeV
  tuev_valid_until Следующий TUeV
  tuev_status в ожидании/пройден/не пройден/истек срок действия
  test_count Количество проведенных тестов
  pass_count Тесты пройдены
  fail_count Неудачные тесты
  avg_score Средний балл

ПРОЦЕСС ТЕСТИРОВАНИЯ (3 части)
---------------------

Часть 1: ВНЕДРЕНИЕ как личный опыт
  - Запуск рабочего процесса с тестовыми данными
  - Взгляд со стороны LLM: «Как это было для меня?»
  - Обратите внимание на проблемы, неясности, камни преткновения

Часть 2: ОЦЕНКА по критериям
  - Проверьте требования к варианту использования.
  - Сравнить определенные критерии
  - Сравните результат с ожидаемым результатом

Часть 3: ОЦЕНКА и последствия
  - Подсчитать счет (0-100)
  - Получить оценку
  - Если возникла ошибка: создайте задачу на улучшение

ПРОВЕРОЧНЫЙ СПИСОК для новых рабочих процессов
------------------------------

[ ] Есть ли в рабочем процессе хотя бы 1 вариант использования?
[ ] Определены ли входные данные и ожидаемый результат?
[ ] Работает ли рабочий процесс без пользовательских данных?
[ ] Является ли рабочий процесс идемпотентным (повторяемым)?
[ ] Задокументированы ли зависимости?
[ ] Имеется ли обработка ошибок?

ПРИМЕР ИСПОЛЬЗОВАНИЯ
----------------

  Рабочий процесс: журнал исправлений ошибок

  Тестовый пример: «Простая синтаксическая ошибка»
  test_input: {
    "bug_description": "Синтаксическая ошибка в строке 42 файла main.py",
    "file_path": "tests/sample_bug.py"
  }
  ожидаемый_выход: {
    "статус": "исправлено",
    «changes_made»: правда,
    «test_passed»: правда
  }

АВТОМАТИЗАЦИЯ
---------------

Задание демона (планируется):
  Название: туев-чек
  Команда: бач туев беги
  Интервал: 7 дней (еженедельно)

Если срок действия TUeV истек:
  -> Задача «Обновить рабочий процесс X TUeV» создана (приоритет на основе оценки)

СМОТРИ ТАКЖЕ
----------

  --help рабочие процессы система рабочих процессов
  --help usecase Подробности тестирования Usecase
  --help основная основная концепция (агент/рабочий процесс/навыки)
  --help рабочий процесс разработки

---
Версия: 1.1 | Создано: 30 января 2026 г.
Статус: Реализовано (v1.1.83)
Обработчик: system/hub/tuev.py (TuevHandler + UsecaseHandler)
