fix(meta-info): кейс на множество в определяемом типе — фикстура вместо невалидной конфигурации

verify-snapshots отверг кейс: «ОпределяемыйТип.Любой - Недопустимый тип».
Спросил платформу — v8:TypeSet внутри определяемого типа запрещён вообще, и не
только AnyRef: отвергнуты также голый CatalogRef, Characteristic.X и вложенный
DefinedType.X, при том что контрольный вариант с обычным CatalogRef.X принят.
Замерено на 8.3.24.1691 загрузкой в базу. Отсюда и ноль таких узлов в корпусе —
это не совпадение, а запрет.

Комментарий в обоих портах утверждал обратное («платформа допускает») — правда
записана, факт добавлен в docs/meta-dsl-spec.md.

Сам разбор v8:TypeSet в выводе определяемого типа оставлен: meta-info читалка,
и рукотворный файл с таким узлом она обязана показать честно, а не потерять его
молча вместе с правдивым счётчиком. Кейс переведён на рукотворную фикстуру с
объявленной причиной пропуска платформенной проверки.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-09-20 17:53:46 +03:00
co-authored by Claude Opus 5
parent 501f7a2c4f
commit 510c9163e3
11 changed files with 434 additions and 44 deletions
+5
View File
@@ -144,6 +144,11 @@ JSON DSL для описания объектов метаданных конф
Прочие менеджеры (`CatalogManager`, `DocumentManager`, …) множеством НЕ являются: голый менеджер
пишется обычным `v8:Type`.
Внутри `DefinedType` тип-множество **запрещено**: платформа отвечает «Недопустимый тип» и на
`AnyRef`, и на голый `CatalogRef`, и на `Characteristic.Xxx`, и на вложенный `DefinedType.Xxx`
(замерено на 8.3.24.1691 загрузкой в базу; контрольный вариант с обычным `CatalogRef.Xxx` принят).
Состав определяемого типа — только конкретные типы.
Вывод `meta-info` печатает голое множество с суффиксом «(все)» (`ДокументОбъект (все)`) — отличать
«все» от «один» по наличию точки посреди длинного имени ненадёжно. Суффикс принимается и на входе
`meta-compile`, так что строку из вывода можно подать обратно.