Три проблемы по reviews-drawer (по фидбеку: «Открыть ломается / Согласование
не показывает справочник / не показывает live / JSON не подсвечен»):
1. useLiveRecord(draft.dictionaryId, ...) → useLiveRecord(dictName, ...).
Endpoint /api/v1/dictionaries/{name}/records/{bk} ожидает name, не UUID;
до фикса валился с 404 «Dictionary not found: <uuid>» → live-блок был
пустой и показывался "noLive" даже для UPDATE/CLOSE drafts.
2. Header drawer'а теперь рендерит "<dictName> / <businessKey>" вместо
просто businessKey. dictName — link на /dictionaries/$name. Fallback
на UUID-prefix без link'а если dict не виден (scope-hide).
3. JsonView (новый компонент, ~120 строк, без deps) заменяет голые <pre>
JSON.stringify(...):
- syntax highlight: ключи (aurora), строки (pink), числа (warn),
true/false/null (accent), пунктуация (mute)
- diff highlight: top-level ключи из shallowDiffSummary получают
фон+border (зелёный added / красный removed / жёлтый changed).
В live-колонке — removed+changed, в proposed — added+changed.
Также добавлен error-state для liveQ (раньше 404 от useLiveRecord на UUID
молча превращался в "noLive"; теперь explicit "не удалось загрузить").