Files
orchestrator/docs/work-items/ORCH-040/03-acceptance-criteria.md
claude-bot 5436c4110e
All checks were successful
CI / test (push) Successful in 13s
analyst(ET): auto-commit from analyst run_id=175
2026-06-06 14:55:35 +00:00

4.3 KiB
Raw Permalink Blame History

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:root tracked-файлы.

AC-2 — git под slin работает без ручного chown

  • PASS: на хосте под slin git -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.mdstaging_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/конвейер падает; либо предусловия нигде не задокументированы.