feat(skd-decompile): scaffold — Ring 3 fail-fast, sentinel/warnings, query extraction

Layer 1 of the skd-decompile plan: SKILL.md with disable-model-invocation,
ps1 skeleton with XML→JSON pipeline, namespace probe for non-DCS root,
sentinel/warnings accumulator, and DataSetQuery extraction (query only).
Test case minimal-query demonstrates round-trip via skd-compile preRun.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-05-21 13:40:46 +03:00
co-authored by Claude Opus 4.7
parent 048edafc15
commit 5ec21f24b4
4 changed files with 253 additions and 0 deletions
@@ -0,0 +1,11 @@
{
"script": "skd-decompile/scripts/skd-decompile",
"setup": "none",
"args": [
{ "flag": "-TemplatePath", "from": "workPath", "field": "templatePath" }
],
"snapshot": {
"root": "workDir",
"normalizeUuids": false
}
}
@@ -0,0 +1,19 @@
{
"name": "Минимальный СКД с одним DataSetQuery",
"preRun": [
{
"script": "skd-compile/scripts/skd-compile",
"input": {
"dataSets": [{
"name": "НаборДанных1",
"query": "ВЫБРАТЬ Номенклатура.Наименование КАК Наименование ИЗ Справочник.Номенклатура КАК Номенклатура",
"fields": ["Наименование"]
}]
},
"args": { "-DefinitionFile": "{inputFile}", "-OutputPath": "Template.xml" },
"cwd": "{workDir}"
}
],
"params": { "templatePath": "Template.xml" },
"expect": { "stdoutContains": "НаборДанных1" }
}