docs(bugfixes): add safe.directory, init:true findings and autonomy test result
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user