Files
cc-1c-skills/tests/skills/cases/mxl-compile/column-sets.json
T
Nick ShirokovandClaude Opus 5 66c7364c37 fix(mxl-compile): выводить идентификатор раскладки как корректный UUIDv3
Идентификатор колоночной раскладки выводится из имени детерминированно — это
требование, а не оптимизация: случайный давал бы другой файл при каждой компиляции,
снэпшоты не совпадали бы сами с собой, а повторная сборка того же определения
порождала бы диф.

Но выводился он неправильно: сырой хэш форматировался как UUID, без битов версии и
варианта. В выдаваемом значении версия оказывалась 7, вариант 1 — таких не бывает,
то есть формально это был не UUID, а шестнадцатеричная строка нужной формы. Платформа
такое принимает (проверено сертификацией), но упереться в валидатор мы могли в любой
момент — ровно того же сорта риск, что сертификация уже ловила в этой ветке.

Теперь это штатный UUID версии 3 (имя + MD5, RFC 4122): для задачи «вывести
идентификатор из имени» существует именно он. Детерминированность сохранена, оба
порта дают одинаковое значение.

Проверено: тесты 53/53 на обоих рантаймах, verify-snapshots 23/23.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-10 20:07:02 +03:00

29 lines
1016 B
JSON

{
"name": "Колоночные раскладки: своя ширина колонок у группы строк (id выводится из имени детерминированно, ожидаемый = UUIDv3 от \"узкая\")",
"input": {
"columns": 3,
"columnWidths": { "1-3": 20 },
"columnSets": {
"узкая": { "columns": 3, "columnWidths": { "1-3": 8 } }
},
"areas": [
{ "name": "Шапка", "rows": [["Наименование", "Количество", "Сумма"]] },
{ "name": "ТабличнаяЧасть", "columnSet": "узкая", "rows": [["{Товар}", "{Кол}", "{Сумма}"]] }
]
},
"params": {
"outputPath": "Template.xml"
},
"validatePath": "Template.xml",
"expect": {
"files": ["Template.xml"],
"fileContains": {
"file": "Template.xml",
"text": [
"<id>12320174-2b07-3806-9f7f-ec3834007fdb</id>",
"<columnsID>12320174-2b07-3806-9f7f-ec3834007fdb</columnsID>"
]
}
}
}