fix: resolve FINDINGS — synonyms, path resolution, exit codes

Skill fixes (all ps1+py, version bumped to v1.1):
- role-compile: accept "rights" as synonym for "objects"
- subsystem-compile: accept "objects" as synonym for "content"
- form-add: resolve directory path to .xml (like meta-validate)
- form-info: resolve directory path to Ext/Form.xml (like form-validate)
- mxl-compile: support absolute OutputPath (IsPathRooted check)
- meta-remove: exit 1 when object not found; v1.1
- cfe-patch-method: accept plural type names (Catalogs → Catalog)

Test fixes:
- basic-role.json: use canonical "objects" key
- basic.json (subsystem): use canonical "content" key
- catalog-form.json: fix outdated DSL format
- New synonym test cases for role-compile and subsystem-compile
- error-not-found.json: expect error (exit 1)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-03-28 17:25:52 +03:00
co-authored by Claude Opus 4.6
parent 4551525718
commit 250978c2fd
38 changed files with 4975 additions and 3508 deletions
@@ -18,8 +18,8 @@
{ "name": "Объект", "type": "FormDataStructure", "main": true }
],
"elements": [
{ "type": "InputField", "dataPath": "Объект.Наименование", "title": "Наименование" },
{ "type": "InputField", "dataPath": "Объект.Артикул", "title": "Артикул" }
{ "input": "Наименование", "path": "Объект.Наименование", "title": "Наименование" },
{ "input": "Артикул", "path": "Объект.Артикул", "title": "Артикул" }
]
}
}
@@ -11,9 +11,31 @@
<Autofill>false</Autofill>
</AutoCommandBar>
<ChildItems>
<InputField name="Наименование" id="1">
<DataPath>Объект.Наименование</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Наименование</v8:content>
</v8:item>
</Title>
<ContextMenu name="НаименованиеКонтекстноеМеню" id="2"/>
<ExtendedTooltip name="НаименованиеРасширеннаяПодсказка" id="3"/>
</InputField>
<InputField name="Артикул" id="4">
<DataPath>Объект.Артикул</DataPath>
<Title>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Артикул</v8:content>
</v8:item>
</Title>
<ContextMenu name="АртикулКонтекстноеМеню" id="5"/>
<ExtendedTooltip name="АртикулРасширеннаяПодсказка" id="6"/>
</InputField>
</ChildItems>
<Attributes>
<Attribute name="Объект" id="1">
<Attribute name="Объект" id="7">
<Type>
<v8:Type>FormDataStructure</v8:Type>
</Type>