Проблема
Баг с игнорированием settingsFile (yellow-hammer/mcp-1c-platform-tools#25, исправлен в #232) прожил незамеченным, потому что planIntents живёт в VRunnerManager — классе, завязанном на vscode API, — и не покрыт ни одним тестом. Существующие тесты (src/test/shared/*) проверяют только чистые функции.
Предложение
Выделить планирование (интент → аргументы CLI с учётом версии vrunner, --settings, временных параметров) в чистый модуль без vscode, по образцу envProfiles.ts и vrunnerCliAdapters. VRunnerManager.planIntents остаётся тонкой обёрткой, которая собирает вход (версия, активный профиль, overrides) и зовёт чистую функцию.
Тесты закрепляют контракты:
- явный
settingsFile перекрывает активный профиль;
--settings не дублируется, если задан в намерении;
- временные параметры добавляются в зону сквозных опций;
- поведение 2.x/3.x (включая обработку v2-файла настроек на cli3).
Критерии приёмки
Проблема
Баг с игнорированием
settingsFile(yellow-hammer/mcp-1c-platform-tools#25, исправлен в #232) прожил незамеченным, потому чтоplanIntentsживёт вVRunnerManager— классе, завязанном на vscode API, — и не покрыт ни одним тестом. Существующие тесты (src/test/shared/*) проверяют только чистые функции.Предложение
Выделить планирование (интент → аргументы CLI с учётом версии vrunner,
--settings, временных параметров) в чистый модуль без vscode, по образцуenvProfiles.tsиvrunnerCliAdapters.VRunnerManager.planIntentsостаётся тонкой обёрткой, которая собирает вход (версия, активный профиль, overrides) и зовёт чистую функцию.Тесты закрепляют контракты:
settingsFileперекрывает активный профиль;--settingsне дублируется, если задан в намерении;Критерии приёмки
src/test/sharedplanIntentsне изменилось (существующие 452 теста зелёные)