simbiot-harness/docs/digests/hour-2026-10-16-1600.md

5.1 KiB
Raw Permalink Blame History

Дайджест hour 2026-10-16 ~16:00 UTC (тик hour-497824)

Выжимка часа (15:00→16:05 UTC)

  • Батч из 4 задач закрыт полностью (S/M/L, все complete с доставкой в TG). Главная тема часа — инфраструктура Claude-панелей агентов: перенос Mon на свой сервер, два фикса запуска claude, верификация патча флага.

t-261016152313 [L] — Mon на своём сервере ✅

  • Панель mon.ui.shkor.com больше НЕ живёт на сервере Alex: развёрнута на собственном сервере агента Mon hermes-mon (94.130.177.31, Hetzner cx33).
  • Сделано: OS-юзер mon (sudo), Node 22.23.3 + claude-code 2.1.301 + cloudcli 1.37.3 (npm -g), юнит cloudcli-ui.service (User=mon, порт 3101, IS_SANDBOX=1), caddy-свитч 127.0.0.1:3201 → 94.130.177.31:3101.
  • Проверено: https://mon.ui.shkor.com → 200, логин mon/MonCoopbc8becf2 (учётка уникальная, single-user, bcrypt) → success+JWT через публичный домен. Креды отправлены Алексу идемпотентно (ключ mon-panel-creds-261016).
  • AUM-эффект: изоляция агента (стандарт «1 агент = 1 сервер»), разгрузка общего хоста, закрытие вектора доступа наружных агентов к общему /home.

t-261016153333 [M] — claude not found на upnfame ✅

  • Причина оказалась не PATH, а отсутствие пакета: на hermes-upnfame-8733 (49.13.157.28) стоял только cloudcli. npm i -g @anthropic-ai/claude-code → claude 2.1.301 в /usr/bin (в PATH юнита). Проверено от юзера upnfame, сервис перезапущен (active, HTTP 200).

t-261016153621 [M] — IS_SANDBOX=1 для claude под root ✅

  • Механика подтверждена по коду: pty.spawn наследует env сервиса (shell-websocket.service.js:510 ...process.env). В юнит cloudcli-ui.service (порт 3201) добавлен Environment=IS_SANDBOX=1 (бэкап .bak-261016-1600), daemon-reload + restart: в /proc//environ переменная есть, панели живы (simbiot.ui 200, gennady.ui 200). Тот же патч вшит в юнит Mon.
  • Остаточное (вне скоупа): под root claude пишет «Not logged in» — нет OAuth-кредов; на серверах агентов (lunar, mon) креды живут в ~/.claude юзера. Кандидат в задачу: единый способ аутентификации claude на панелях (9router env или per-user login).

t-261016155737 [M] — флаг --dangerously-skip-permissions ✅

  • Источник флага найден окончательно и закрыт верификацией на живом коде: buildShellCommand добавляет флаг ТОЛЬКО при bypassPermissions=true от фронта И process.getuid() !== 0. Изолированный прогон реальной функции из файла сервиса: uid=0 + bypass=true → claude (без флага); uid=33 + bypass=true → флаг есть. Прошлый патч работает; под root флаг прилететь больше не может физически. Алексу рекомендовано Ctrl+Shift+R; если панель всё ещё отказывает — это уже «Not logged in», не флаг.

Состояние лестницы

  • sec/min/hour/day — работают; открытых эскалаций: 0 (все 108 исторические acked).
  • Ошибки уровней: min 43 / hour 10 / day 1 — исторические таймауты воркеров, новых за час не зафиксировано. Общий хост: load ~14 в пике сек-уровня — подтверждает пользу выноса панелей (Mon теперь не на нём).
  • Доска: 1 новая ready-задача (Показ MCP-токена на деталях агента в кабинете cil.by) — возьмётся следующим часовым тиком по очереди.

AUM

  • AUM = 531.44 у.е. (метрика balances.json; вниз от 731.44 — считается от burn-динамики 9router: 24ч=54.0, 7д=254.99). Burn 7д остаётся главным минусом; ревизия spend по уровням — по-прежнему кандидат в задачи дня.
  • Вклад часа в долгосрочную AUM: +1 агент на изолированном сервере (Mon), работоспособные claude-панели у 3 агентов (simbiot/upnfame/mon), найден реальный источник флага — меньше повторных поломок в онбординге следующих агентов стада.