# Фикс: резолв ID узлов → имена в скил-контексте наставника

## Цель

На ревью плана наставник получает рекомендацию роутера как голые ID узлов (#4, #6) и не может
оценить их уместность — в живом вердикте он буквально пишет «не могу подтвердить их содержание».
Скил-сверка наставника при этом полая. Сделать скил-контекст человекочитаемым: резолвить каждый
рекомендованный ID в «#N — имя (краткое описание)» через уже загруженный реестр, чтобы наставник
реально судил уместность скилов.

## Решение

- `renderSkillContext` принимает дополнительный вход — реестр (или готовый резолвер id→{name,desc})
  — и рендерит каждый ID рекомендации как `#N — имя` (+описание, если есть), вместо голого `#N`.
- `onPlanWrite` прокидывает уже доступный `registry` в `renderSkillContext` (реестр он получает
  параметром, для classify).
- Fail-safe: неизвестный ID / реестр отсутствует / битая запись → откат на голый `#N` (не падать,
  не выдумывать имя).

## Границы

- `classify` (мозг роутера), вердикт наставника, судья, печать — НЕ трогаем.
- Меняем только слой рендера скил-контекста + проброс реестра в него.
- Граф `nodes.yaml` и карточки — НЕ меняем (только читаем имена/описания).

## Критерий приёмки

- `renderSkillContext` с реестром резолвит `#N` → имя; без реестра/неизвестный ID → голый `#N`
  (fail-safe), не бросает.
- `onPlanWrite` передаёт реестр в `renderSkillContext`; промпт наставника несёт имена скилов,
  а не голые номера.
- Регрессия tools-only зелёная (база 3901), скил-сверочные тесты обновлены.

```verified-context-json
[{"id":"1","kind":"EXTRACTED","claim":"renderSkillContext склеивает рекомендацию сырыми ID","ref":"tools/mentor-seam.mjs:57","anchor":"export function renderSkillContext"},
{"id":"2","kind":"EXTRACTED","claim":"onPlanWrite строит skillContext из recommendedChain","ref":"tools/on-plan-write.mjs:46","anchor":"renderSkillContext({ declared: declaredSkills"},
{"id":"3","kind":"EXTRACTED","claim":"реестр с именами/описаниями узлов загружается loadRegistry","ref":"tools/registry-load.mjs:18","anchor":"export function loadRegistry"}]
```
