analyst(ET): auto-commit from analyst run_id=175
All checks were successful
CI / test (push) Successful in 13s
All checks were successful
CI / test (push) Successful in 13s
This commit is contained in:
@@ -91,3 +91,16 @@ docker.sock. Любой рестарт контейнера под новым ui
|
||||
- Хост-каталоги `/app/data` и `/repos` уже `1000:1000` (запись под uid 1000 пройдёт).
|
||||
- Dockerfile уже содержит `git config --system --add safe.directory '*'`.
|
||||
- Окно тишины для рестарта контейнера согласуется с Owner.
|
||||
|
||||
## 8. Host-prerequisites (предусловия на стороне Owner)
|
||||
Часть фикса невозможно закрыть только кодом — есть действия на хосте mva154,
|
||||
которые выполняет Owner (в гит не коммитятся, фиксируются в ADR/INFRA). Это
|
||||
обязательные предусловия Варианта 1; без них переход на uid 1000 ломает конвейер:
|
||||
- **P-1 (блокер, МИНА 2):** обеспечить чтение `/home/slin/.claude/.credentials.json`
|
||||
под uid 1000 (рекомендация — `chown -R 1000:1000 /home/slin/.claude`). Способ
|
||||
выбирает ADR; анализ фиксирует факт предусловия.
|
||||
- **P-2:** ssh-ключи (`/home/slin/.orchestrator-ssh`) читаемы uid 1000.
|
||||
- **P-3:** подтверждение `slin = uid 1000 gid 1000` (подтверждено разведкой).
|
||||
- **P-4:** рестарт прод-self только в окно тишины (`GET /status` без активных задач).
|
||||
|
||||
Детализация и команды — в `02-trz.md` §10.
|
||||
|
||||
@@ -84,3 +84,29 @@ claude-auth, git, ssh-деплоя и docker.sock.
|
||||
2. Применить и проверить на **staging (8501)** end-to-end.
|
||||
3. Прод-рестарт контейнера под новым uid — только в окно тишины (нет активных задач).
|
||||
4. Регресс на хосте: новые tracked-артефакты `1000:1000`, `git pull` под slin без ошибок.
|
||||
|
||||
## 10. Зависимости и host-prerequisites (действия на хосте, вне кода)
|
||||
|
||||
Эти пункты — предусловия для Варианта 1; их выполняет Owner на хосте mva154 (в гит
|
||||
не коммитятся, но фиксируются в ADR/INFRA как обязательная процедура). Без них
|
||||
переход контейнера на uid 1000 ломает конвейер (МИНА 2 — блокер).
|
||||
|
||||
| # | Предусловие | Команда / проверка | Зачем |
|
||||
|---|-------------|--------------------|-------|
|
||||
| P-1 | Доступ uid 1000 к claude creds | `chown -R 1000:1000 /home/slin/.claude` (вкл. `.credentials.json`); проверка `sudo -u '#1000' test -r /home/slin/.claude/.credentials.json` | МИНА 2: без доступа preflight ORCH-044 завернёт весь конвейер |
|
||||
| P-2 | SSH-ключи в HOME нового uid и читаемы | ключи в `/home/slin/.orchestrator-ssh` читаемы uid 1000; маунт ведёт в `/home/slin/.ssh` (см. §4.1) | деплой по ssh (DEPLOY_SSH_*) |
|
||||
| P-3 | Подтверждение uid:gid рантайма | `id slin` → `uid=1000 gid=1000`; `/repos` и `/app/data` уже `1000:1000` (подтверждено разведкой) | целевые файлы создаются под slin |
|
||||
| P-4 | Окно тишины для рестарта self | `GET /status` → нет активных задач перед рестартом прод-контейнера | self-hosting: общий инстанс с enduro-trails |
|
||||
|
||||
> **Открытый выбор для ADR (не решается анализом):** способ обеспечения P-1 —
|
||||
> `chown` creds (рекомендация разведки) vs. ослабление read-прав vs. отказ от
|
||||
> Варианта 1 в пользу Варианта 3 (chown-хук). Анализ фиксирует P-1 как
|
||||
> обязательное предусловие при любом из вариантов 1/2; для Варианта 3 — неактуально.
|
||||
|
||||
## 11. Подтверждённые факты текущего рантайма (anchor для Dev)
|
||||
Сверено с веткой `feature/ORCH-040-root-git` на 06.06:
|
||||
- `docker-compose.yml`: оба сервиса имеют `group_add: ["999"]` (МИНА 1 — НЕ удалять);
|
||||
SSH-маунт обоих = `/home/slin/.orchestrator-ssh:/root/.ssh:ro` (требует правки target);
|
||||
claude-маунты = `/home/slin/.claude` и `/home/slin/.claude.json:ro`.
|
||||
- `src/agents/launcher.py`: `HOME="/home/slin"` форсится в env Popen (стр. 326) и в
|
||||
git_env (стр. 513); `CLAUDE_BIN="/opt/claude-code/bin/claude.exe"` (стр. 187).
|
||||
|
||||
@@ -53,3 +53,10 @@ Work Item: **ORCH-040**
|
||||
- **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/конвейер
|
||||
падает; либо предусловия нигде не задокументированы.
|
||||
|
||||
Reference in New Issue
Block a user