# 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 — это зависимость окружения
