# Dev Report: Enduro Trails Bug Fix #2 Дата: 2026-05-04 Статус: BLOCKED ## Задача Исправить 2 бага в Enduro Trails: - **Bug 3**: UI панель маршрута перекрывается кнопками управления - **Bug 4**: Длинные маршруты не строятся + улучшить сообщения об ошибках ## Сделано - [x] Bug 3 — исправлен в CSS и HTML - [x] Bug 4 — исправлен в app.py (добавлен radiuses=5000, улучшены ошибки) - [x] Все изменения готовы в workspace ## Изменённые файлы - `/home/node/.openclaw/workspace/tasks/enduro-trails/prototype/static/app.css` - Добавлен `#route-panel { right: 56px !important; }` чтобы не перекрывать кнопки - Добавлен медиа-запрос для мобильных устройств - `/home/node/.openclaw/workspace/tasks/enduro-trails/prototype/static/index.html` - Удалён inline `right:10px` из `#route-panel` (теперь управляется через CSS) - `/home/node/.openclaw/workspace/tasks/enduro-trails/prototype/app.py` - Добавлен параметр `radiuses=5000` (5 км snap radius) для длинных маршрутов - Улучшены сообщения об ошибках OSRM: - `NoRoute` → "Маршрут не найден: нет пути между точками" - `NoSegment` → "Маршрут не найден: точки слишком далеко от дорог" - `InvalidValue` → "Некорректные координаты: {msg}" - Прочие → "Маршрут не найден ({code})" ## Проблема — БЛОКЕР **SSH недоступен в subagent контейнере** из-за несовместимости glibc: - Контейнер: glibc 2.36 - SSH бинарь требует: glibc 2.38+ - Все попытки обойти (static binary, Python paramiko, Node ssh2) не удались - Elevated exec недоступен для subagent - Gateway host имеет ту же проблему с glibc ## Следующий шаг **Варианты:** 1. Запустить деплой из main agent (не subagent) — там может быть рабочий SSH 2. Попросить Славу задеплоить файлы вручную 3. Установить openssh-client с elevated правами (требует изменения конфига) ## Команды для ручного деплоя (если нужно) ```bash SKILL=~/.openclaw/skills/installer/scripts # 1. CSS $SKILL/ssh_exec.sh --host mva154 --cmd "cat > /home/slin/enduro-trails/prototype/static/app.css << 'ENDOFFILE' <содержимое из workspace> ENDOFFILE" $SKILL/ssh_exec.sh --host mva154 --cmd "docker cp /home/slin/enduro-trails/prototype/static/app.css prototype-enduro-trails-1:/app/static/app.css" # 2. HTML $SKILL/ssh_exec.sh --host mva154 --cmd "cat > /home/slin/enduro-trails/prototype/static/index.html << 'ENDOFFILE' <содержимое из workspace> ENDOFFILE" $SKILL/ssh_exec.sh --host mva154 --cmd "docker cp /home/slin/enduro-trails/prototype/static/index.html prototype-enduro-trails-1:/app/static/index.html" # 3. app.py $SKILL/ssh_exec.sh --host mva154 --cmd "cat > /home/slin/enduro-trails/prototype/app.py << 'ENDOFFILE' <содержимое из workspace> ENDOFFILE" $SKILL/ssh_exec.sh --host mva154 --cmd "docker cp /home/slin/enduro-trails/prototype/app.py prototype-enduro-trails-1:/app/app.py" # 4. Restart $SKILL/ssh_exec.sh --host mva154 --cmd "cd /home/slin/enduro-trails && docker compose restart prototype" --timeout 90 ``` ## Диагностика Bug 4 (не выполнена) Не удалось выполнить диагностику OSRM из-за отсутствия SSH: ```bash curl 'http://localhost:5559/route/v1/driving/37.15,55.58;46.85,55.72?overview=false' ``` Фикс реализован на основе описания задачи: - Увеличен snap radius до 5 км - Добавлены детальные сообщения об ошибках ## Уроки - Subagent контейнеры имеют ограниченное окружение (старый glibc, нет pip, нет elevated) - Для задач с SSH деплоем лучше использовать main agent или проверять доступность SSH заранее - Installer skill предполагает наличие рабочего SSH — это зависимость окружения