fix(skills): единый порядок поиска .v8-project.json для newObjectPosition

Резолвер настройки искал файл от каталога конфигурации и лишь потом от cwd —
единственное место в репозитории с таким отсчётом. Остальные ищут от рабочего
каталога: support-guard (18 навыков) с фолбэком на каталог конфигурации, группа
db-* (5 навыков) вообще без фолбэка, потому что каталога конфигурации у них нет.

Обоснование прежнего порядка («cwd почти всегда чужой проект») опиралось на нашу
стендовую раскладку — вызов из репозитория навыков по выгрузке в cfsrc. У
пользователя cwd и есть каталог проекта с .v8-project.json, а скрипт навыка
зовётся по абсолютному пути и cwd не меняет, так что оба порядка эквивалентны.

Кейс cfe-borrow/newobjectposition-byname клал настройку внутрь каталога расширения
и тем закреплял несуществующую раскладку — конфиг проекта лежит в корне проекта,
расширение внутри него. Поправлен на реальную.

Из гайда убран абзац, объяснявший особый порядок: объяснять больше нечего.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QoAJmoNbgWKobA7JGgN5S3
This commit is contained in:
Nick Shirokov
2026-08-29 19:14:27 +03:00
co-authored by Claude Opus 5
parent 1ccd56606b
commit ecde0d1c41
13 changed files with 84 additions and 55 deletions
@@ -3,25 +3,56 @@
"preRun": [
{
"script": "meta-compile/scripts/meta-compile",
"input": { "type": "Catalog", "name": "Договоры" },
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
"input": {
"type": "Catalog",
"name": "Договоры"
},
"args": {
"-JsonPath": "{inputFile}",
"-OutputDir": "{workDir}"
}
},
{
"script": "meta-compile/scripts/meta-compile",
"input": { "type": "Catalog", "name": "Терминалы", "owners": ["Catalog.Договоры"] },
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
"input": {
"type": "Catalog",
"name": "Терминалы",
"owners": [
"Catalog.Договоры"
]
},
"args": {
"-JsonPath": "{inputFile}",
"-OutputDir": "{workDir}"
}
},
{
"script": "cfe-init/scripts/cfe-init",
"args": { "-Name": "Тест", "-OutputDir": "{workDir}/cfe", "-ConfigPath": "{workDir}" }
"args": {
"-Name": "Тест",
"-OutputDir": "{workDir}/cfe",
"-ConfigPath": "{workDir}"
}
},
{ "writeFile": { "path": "cfe/.v8-project.json", "content": { "newObjectPosition": "byName", "databases": [] } } }
{
"writeFile": {
"path": ".v8-project.json",
"content": {
"newObjectPosition": "byName",
"databases": []
}
}
}
],
"params": { "extensionPath": "cfe", "object": "Catalog.Терминалы" },
"params": {
"extensionPath": "cfe",
"object": "Catalog.Терминалы"
},
"expect": {
"fileContains": {
"file": "cfe/Configuration.xml",
"text": "<Catalog>Договоры</Catalog>\r\n\t\t\t<Catalog>Терминалы</Catalog>"
}
}
},
"cwd": "workDir"
}