mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-27 23:21:02 +03:00
Четырём субагентам выданы реалистичные задачи по песочнице, навыки в формулировках не назывались. Разбор — в debug/xdto/FINDINGS.md, §13. ГЛАВНОЕ — дефект компилятора. При уплощении вложенного xs:choice ветки оставались обязательными: схема «самовывоз ИЛИ адрес доставки» давала пакет, требующий заполнить оба, и ни один реальный документ в него не ложился. Компилятор предупреждал о потере выбора, но молчал о последствии, а валидатор показывал «0 ошибок, 0 предупреждений» — структурно пакет корректен, семантически мёртв. Теперь ветки становятся необязательными (единственное уплощение, оставляющее тип заполнимым), предупреждение называет их поимённо. Корневой xs:choice не затронут: он отображается в ordered="false". xdto-edit: -Value "@файл" по конвенции skd-edit — на кавычках при инлайновой передаче XSD споткнулись двое агентов из четырёх, причём сырой LoadXml уводил чинить схему вместо транспорта. При сбое разбора теперь понятное сообщение. xdto-info: поиск, законно ничего не нашедший, падал throw'ом со стектрейсом и читался как поломка инструмента — теперь строка и exit 1. Блок «Создание» покрывал только корневой тип, хотя вся реальная работа в XDTO — вложенные и анонимные типы; добавлены рецепты по факту наличия. Отсутствие раздела «Точки входа» было неоднозначным — теперь явная строка. Новый -RequiredOnly даёт скелет «заполни обязательное»: необязательный объект уходит вместе с поддеревом. По умолчанию выключен — иначе список читался бы как полный. xdto-validate: предупреждение про anyType описывало историю («платформа заменяет при импорте»), хотя в файле уже зафиксирован anyType; сначала состояние, потом происхождение. Проверено: 40 тестов на обоих рантаймах, round-trip 760/760, валидатор 0 ложных срабатываний на корпусе. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
32 lines
639 B
JSON
32 lines
639 B
JSON
{
|
|
"name": "-RequiredOnly: скелет обязательных, необязательный объект уходит с поддеревом",
|
|
"caseFiles": [
|
|
"nested.xsd"
|
|
],
|
|
"preRun": [
|
|
{
|
|
"script": "xdto-compile/scripts/xdto-compile",
|
|
"args": {
|
|
"-XsdPath": "{workDir}/nested.xsd",
|
|
"-OutputDir": "{workDir}"
|
|
}
|
|
}
|
|
],
|
|
"params": {
|
|
"packagePath": "XDTOPackages/nested",
|
|
"outFile": "required-only.txt"
|
|
},
|
|
"args_extra": [
|
|
"-Name",
|
|
"Документ",
|
|
"-Depth",
|
|
"3",
|
|
"-RequiredOnly"
|
|
],
|
|
"expect": {
|
|
"files": [
|
|
"required-only.txt"
|
|
]
|
|
}
|
|
}
|