# 07 — Инфра-требования: ORCH-040 Work Item: **ORCH-040** · Решение: [ADR-001](06-adr/ADR-001-run-agents-as-host-uid.md) (Вариант 1) > Требования к рантайму/инфре, которые Dev обязан реализовать, а Reviewer — проверить. > Топология стадий и БД **не меняются**. Меняется только runtime-uid контейнера и target SSH-маунта. ## R-1 — runtime uid контейнера - Оба сервиса в `docker-compose.yml` запускаются под `user: "1000:1000"`. - `group_add: ["999"]` **сохраняется** на обоих (docker.sock через gid 999, МИНА 1). ## R-2 — SSH-маунт согласован с HOME - target SSH-маунта = `/home/slin/.ssh` (не `/root/.ssh`) на обоих сервисах. - Совпадает с `HOME=/home/slin`, форсимым в `src/agents/launcher.py` (L326, L513). - Источник (`/home/slin/.orchestrator-ssh`) и режим `:ro` — без изменений. ## R-3 — claude-маунты без изменений - `/home/slin/.claude` (rw) и `/home/slin/.claude.json:ro` остаются. - Доступ под uid 1000 обеспечивается host-prerequisite P-1 (chown creds), см. ADR. ## R-4 — образ и launcher без изменений (по умолчанию) - `Dockerfile` не меняется (numeric uid не требует записи в `/etc/passwd`; `safe.directory '*'` уже есть). Изменение допустимо только при доказанной поломке под 1000. - `src/agents/launcher.py` не меняется (`HOME`, `CLAUDE_BIN` валидны под 1000). ## R-5 — host-prerequisites (Owner, вне кода) P-1…P-4 из ADR §«Host-prerequisites» — обязательная процедура. P-1 (доступ uid 1000 к claude creds) — блокер: без него preflight (ORCH-044) заворачивает конвейер. ## R-6 — порядок внедрения 1. staging (8501) end-to-end → `15-staging-log.md` / `check_staging_status` зелёный; 2. прод-рестарт self — только в окно тишины (`GET /status` без активных задач, P-4); 3. регресс на хосте: новые tracked-артефакты `1000:1000`, `git pull` под slin без ошибок. ## R-7 — обновление документации (golden source) Dev в том же PR обновляет: - `docs/operations/INFRA.md` — блок «Тома (volumes)» (SSH target `/home/slin/.ssh`) и явное указание runtime-uid (`user: 1000:1000`) контейнеров; команда разового хост-`chown` legacy `root:root` файлов. - `CHANGELOG.md` — запись `fix:`/`refactor:`. - глобальный [adr-0005](../../architecture/adr/adr-0005-container-runs-as-host-uid.md) уже заведён архитектором; индекс `docs/architecture/adr/README.md` обновлён. ## Что НЕ требуется - Новых томов, портов, env-переменных — нет. - Изменения API, схемы БД, реестра QG/стадий — нет. - Multi-node / облачные сервисы — нет (принципы архитектуры).