Что это за задача
Учим воркфлоу различать: репозиторий не доехал (инфраструктурный сбой) vs агент отработал плохо. Вводим явный reason — сбой доставки как внешний источник, не самоотчёт агента.
Зависит от: NM-1
Задача из листа «Задачи» проекта (NM-6, СРЕЗ 0, приоритет P0). Срез NM-6: статус — готово.
Тесткейсы
Кейсы, привязанные к этой задаче в листе «Тесткейсы» (колонка «Единица бэклога»):
| TC-ID | Дано | Когда | Тогда |
|---|---|---|---|
TC-NM-6.1-a | тип reason определён с двумя непересекающимися значениями (инфраструктурный сбой / решение агента) | конструируется значение из каждого источника | значения различимы и не пересекаются |
TC-NM-6.2-a | repo-fetch (NM-1) упал до старта main-таска | DevPipeline классифицирует исход шага | reason — инфраструктурный сбой доставки, источник внешний, не task_result.json |
TC-NM-6.2-b | main-таск отработал, агент сам вернул status=failed в task_result.json | DevPipeline классифицирует исход того же шага | reason — решение агента, отличим от инфраструктурного сбоя |
TC-NM-6.3-a | оба класса сбоя воспроизведены в одном прогоне (искусственный сбой MinIO против намеренного status=failed) | регрессионный сьют запускается в CI | reason различается корректно в обоих случаях одновременно |