fix(skills): «файл не найден» на входном JSON — одинаково во всех навыках

Часть навыков проверяла путь ко входному JSON сама и отвечала внятной строкой, часть — нет и
роняла дамп: FileNotFoundError с traceback в py, MethodInvocationException с CategoryInfo в PS1.
Один и тот же промах давал разный ответ в зависимости от навыка, а у form-edit — ещё и от порта.

Проверка перенесена в тело семьи read_json_file / Read-JsonInputFile: пол одинаков везде по
построению, и новые навыки получают его вместе с функцией. Навыки со своей проверкой срабатывают
раньше и сохраняют прежний текст, поэтому существующие кейсы не двигаются.

Заодно каталог вместо файла: раньше IsADirectoryError / отказ доступа, теперь
«Expected a JSON file, got a directory».

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-08-21 17:46:20 +03:00
co-authored by Claude Opus 5
parent 229e66b907
commit 77ee8f1047
25 changed files with 260 additions and 24 deletions
@@ -0,0 +1,20 @@
{
"name": "Несуществующий файл определения: строка вместо дампа исключения",
"preRun": [
{
"script": "subsystem-compile/scripts/subsystem-compile",
"input": {
"name": "Продажи"
},
"args": {
"-DefinitionFile": "{inputFile}",
"-OutputDir": "{workDir}"
}
}
],
"params": {
"ciPath": "Subsystems/Продажи/CommandInterface"
},
"inputFrom": "нет-такого-файла.json",
"expectError": "File not found:"
}