Files
cc-1c-skills/tests/skills/cases/xdto-validate/fixed-without-value.json
T
Nick ShirokovandClaude Opus 5 79beba2d1f fix(xdto-compile,xdto-validate): признак фиксированного значения без самого значения
В модели XDTO fixed — булев признак, а значение лежит в default; в XML-схеме
fixed="V" совмещает и признак, и значение. Компилятор оба идиома принимал, но
не проверял принятое: зеркало xdto:fixed="true" без default собиралось молча
в пакет, который платформа отвергает («Отсутствует фиксированное значение
свойства»). Прощающий ввод был сделан наполовину.

xdto-validate v1.1 — два ERROR: значение попало в признак (fixed не булев)
и признак без значения. Формулировка второго повторяет платформенную дословно,
чтобы отказ загрузки и наш вывод читались как одно и то же.

xdto-compile v1.1 — то же условие предупреждением на сборке, то есть на шаг
раньше db-update, где починить дешевле.

Кейсы: оба идиома плюс только default и атрибут (загружается в базу);
зеркало без значения — проверка диагностики, из платформенной верификации
исключено штатным skipPlatformVerify, пакет невалиден by design.

Правило откалибровано корпусом (760 пакетов, оба рантайма): 0 ложных
срабатываний, состав предупреждений не изменился. Round-trip остался
760/760 байт-в-байт.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-26 16:25:38 +03:00

18 lines
825 B
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"name": "fixed без значения и значение внутри fixed — платформа такой пакет отвергает",
"caseFiles": [
"pkg-fixed/XDTOPackages/fixedbad.xml",
"pkg-fixed/XDTOPackages/fixedbad/Ext/Package.bin"
],
"params": { "packagePath": "pkg-fixed/XDTOPackages/fixedbad" },
"expectError": true,
"expect": {
"stdoutContains": [
"Отсутствует фиксированное значение свойства 'БезЗначения'",
"Свойство \"ЗначениеВПризнаке\": fixed=\"Р\""
],
"stdoutNotContains": ["Правильное", "НеФиксированное"]
},
"noSnapshot": "навык только читает — сравнивать нечего, проверка через stdoutContains"
}