From 66a37612fdede4c8b76a089a549808704984cf5f Mon Sep 17 00:00:00 2001 From: Dev Agent Date: Tue, 2 Jun 2026 20:22:51 +0300 Subject: [PATCH] docs(bugfixes): add safe.directory, init:true findings and autonomy test result --- docs/BUGFIXES_2026-06-02.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/BUGFIXES_2026-06-02.md b/docs/BUGFIXES_2026-06-02.md index ddefa82..20e3708 100644 --- a/docs/BUGFIXES_2026-06-02.md +++ b/docs/BUGFIXES_2026-06-02.md @@ -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)