docs(bugfixes): add safe.directory, init:true findings and autonomy test result

This commit is contained in:
Dev Agent
2026-06-02 20:22:51 +03:00
parent 57cca14ed3
commit 66a37612fd

View File

@@ -64,3 +64,21 @@ print(open('/repos/enduro-trails/.task-test-write.md').read())"
## Деплой
Оркестратор пересобран: `cd /home/slin/repos/orchestrator && docker compose up -d --build`. Health: `{"status":"ok"}`.
---
## Дополнительно найдено и починено в ходе теста автономности
### git safe.directory (launcher commit/push)
В ходе теста выяснилось: git внутри контейнера (root) над bind-mounted `/repos` падал с "dubious ownership" → авто-commit/push агента не проходил. Фикс: `git config --system --add safe.directory "*"` в Dockerfile. Теперь `_monitor_agent` commit+push работает автономно (проверено: `analyst(ET): auto-commit run_id=47` запушен в origin).
### init:true (PID-1 reaper) — добиваем B-2
Прямой child (bash) reap-ался корректно через `proc.wait()`, НО claude (node) порождает свои дочерние процессы; при выходе bash они реparent-ились на PID 1 (uvicorn), который их НЕ reap-ал → grandchild-зомби. Фикс: `init: true` в docker-compose.yml — Docker внедряет `docker-init`(tini) как PID 1. Проверено: после реального прогона агента `ZOMBIE_COUNT_AFTER=0`.
## Тест автономности (Task 9) — РЕЗУЛЬТАТ
Запуск через `launcher.launch("analyst", ...)` (НЕ base64). Подтверждено автономно:
- B-1: свежий `.task.md` записан без docker (which docker = NO_DOCKER_BINARY)
- B-2: `exit_code=0` в `agent_runs` (run 46/47/48)
- зомби: 0 после прогона (tini reaper)
- git: auto-commit + push в origin отработал
- M-1: при рестарте orphan-recovery залогировал per-run + Telegram (runs 42/43/44 ET-009)