Решили: Трек К закрыт — QFSW Quantum Console удалён из проекта (583 файла, пять объектов в CoreScene, ссылка в asmdef), все 42 дев-команды переехали в свой реестр. Тогл — дискретное событие IInputService.DevConsoleToggleRequested на ~, вне контекст-карт и без гейта по GameplaySuppressed.

Почему: мотивы трека были записаны заранее (последний внешний писатель GameplaySuppressed умирает, один стиль, дев-команды поедут через тот же слой интентов в коопе, минус зависимость). Из нового: гейт по глушению на клавише консоли запирал бы её изнутри — открытая консоль сама держит InputSuppressSource.DevConsole, и её же клавиша перестала бы работать. Та же причина, по которой без гейта живёт Escape.

Грабли:

  • Start модуля зовётся снова после domain reload, а реестр на дубль имени бросает. Отсюда DevCommandSet: модуль регистрирует команды в свой набор и снимает их одним Dispose. Держать список имён руками означало бы разойтись на первой же новой команде.
  • Компоненты в сцене ищутся по ТИПУ, а не по имени. grep "QuantumConsole" по .unity даёт ноль — в YAML компонент лежит по guid скрипта. Проверка «есть ли пакет в сцене» делается перебором FindObjectsByType<MonoBehaviour> с фильтром по неймспейсу (нашлось пять объектов, которые grep не видел).
  • execute_code блокирует AssetDatabase.DeleteAsset своим safety-фильтром; для удаления пакета нужен safety_checks: false. И удалять надо после снятия ссылки в asmdef, иначе первый же рефреш даёт красную компиляцию.
  • Сразу после удаления пакета compile-check врёт красным («не найден FMODUnity.ref.dll»): редактор в этот момент пересобирает Library/Bee, и артефакты недоступны. Не чинить — дождаться окончания и повторить.
  • Пауза сима на время консоли — не свойство консоли, а свойство дев-модуля. Она переехала на событие MenuRouter.DevConsoleVisibilityChanged, потому что паузу консоль одалживает у владельца (расстановка ставит её сама), и снимать за него нельзя — это уже стреляло у QFSW-версии.

Владелец правды: Assets/_Project/Scripts/Core/DevConsole/ (реестр, набор, аргументы, лог), Scripts/UI/DevConsole/DevConsoleScreen.cs, MenuRouter.ToggleDevConsole, Scripts/Game/Input/InputService.cs (клавиша), регистрация команд — Scripts/DevTools/GuildmasterCommands.RegisterCommands плюс Register в трёх статических наборах; тесты DevConsoleRegistryTests.