4.3 KiB
4.3 KiB
03 — Критерии приёмки: ORCH-040
Work Item: ORCH-040
Каждый критерий имеет чёткое условие PASS/FAIL. Задача считается принятой, когда все критерии = PASS.
AC-1 — Артефакты создаются под uid хоста (корневой критерий)
- PASS: после прогона тестовой задачи конвейером end-to-end новые tracked-файлы
в
/home/slin/repos/orchestrator/docs/work-items/*и в worktree (/repos/_wt/...) имеют владельцаslin:slin(1000:1000).ls -ld /home/slin/repos/orchestrator/docs/work-items/*→ НЕroot:root. - FAIL: появляются новые
root:roottracked-файлы.
AC-2 — git под slin работает без ручного chown
- PASS: на хосте под
slingit -C /home/slin/repos/orchestrator pull,git status,git resetвыполняются безPermission denied/insufficient permission for adding an object. - FAIL: любая из команд падает на правах.
AC-3 — claude-агенты стартуют (preflight ok)
- PASS:
claude-auth/preflight проходит; агент конвейера запускается и завершаетсяexit_code=0(неNot logged in, не отказ доступа к creds). - FAIL: агент падает на авторизации/чтении
/home/slin/.claude.
AC-4 — docker.sock доступен (деплой не сломан)
- PASS: из контейнера под новым uid
docker ps/ docker-операции деплоя (ORCH-36 путь) работают — доступ через gid 999 сохранён (group_add: ["999"]). - FAIL: docker-операции отваливаются (
permission deniedна сокете).
AC-5 — SSH-деплой работает
- PASS: ssh-ключи читаются из домашнего каталога нового uid; деплой-хук по ssh
(
DEPLOY_SSH_*) выполняется. - FAIL: ssh не находит/не читает ключи (маунт указывает на чужой HOME).
AC-6 — Конвейер не сломан (без регресса)
- PASS: тестовая задача проходит стадии без падения запуска конвейера; доступ к
Plane/Gitea из агентов сохранён;
pytest tests/ -qзелёный. - FAIL: конвейер встаёт / тесты падают.
AC-7 — Проверено на staging ДО прода
- PASS: изменение прогнано на staging (8501),
15-staging-log.md→staging_status:положительный; прод-рестарт выполнен в окно тишины. - FAIL: изменение применено сразу на прод без staging-прогона.
AC-8 — Документация обновлена (golden source)
- PASS:
docs/operations/INFRA.md(блок volumes / SSH target / uid рантайма) иCHANGELOG.mdобновлены; ADR с выбором варианта и обоснованием создан в06-adr/. Reviewer подтверждает. - FAIL: код изменён, документация/ADR не обновлены.
AC-9 — Прод-контейнер не уронен вне окна тишины
- PASS: рестарт self выполнен без активных задач; конвейер enduro-trails не пострадал.
- FAIL: рестарт во время активных задач / падение прод-инстанса.
AC-10 — Host-prerequisites зафиксированы и выполнены
- PASS: предусловия P-1…P-4 (TRZ §10 / BRD §8) описаны в ADR/INFRA как обязательная процедура Owner; P-1 (доступ uid 1000 к claude creds) фактически обеспечен — подтверждается прохождением AC-3.
- FAIL: фикс применён без обеспечения доступа к creds (P-1) → preflight/конвейер падает; либо предусловия нигде не задокументированы.