mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-28 14:09:41 +03:00
Значение с пробелом без кавычек разрывалось на токены, и лишние молча растекались по свободным позиционным параметрам. На документированной форме вызова (powershell -NoProfile -File): form-compile.ps1 -JsonPath a.json -OutputPath b.xml -Purpose Форма списка → Purpose=[Форма] ObjectPath=[списка], ошибки НЕТ Навык отрабатывал успешно с усечённым значением; реальный триггер — путь с пробелом в -EmitDsl или -ObjectPath, результат уезжал не туда молча. У навыков с парой -DefinitionFile/-Operation осколок уезжал в -DefinitionFile, и навык жаловался на параметр, которого в команде не было. Расхождение портов: py на том же вызове отвечает «unrecognized arguments: списка» — там все аргументы объявлены опциями. Правка выравнивает PS по py, python не менялся. 41 навык получает [CmdletBinding(PositionalBinding=$false)] и ни одного позиционного параметра. Без Position=0 (в отличие от read-only навыков): «главный» параметр механически не выводится — у meta-edit первым объявлен -DefinitionFile, а путь к объекту вторым, — а ошибка выбора тестами не ловится, раннер передаёт только именованные флаги. Позиционной формы вызова нет ни в одной из 140 строк SKILL.md, внутренние вызовы навыков друг из друга тоже именованные. check-positional-binding.mjs расширен на пишущие навыки статической проверкой. Поведенческая (канареечный файл) остаётся только у read-only: у web-stop и db-run все параметры Mandatory=$false, связывание прошло бы и тело выполнилось — гард остановил бы Apache и запустил 1С. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>