fix(form-validate): версия формата — общим helper-ом, с учётом внешних обработок

Проверка версии читала Configuration.xml собственной регуляркой. Отсюда два
пробела: форма автономной внешней обработки не проверялась вовсе (своего
Configuration.xml у неё нет, версию несёт корень обработки), а разбор
дублировал уже существующий эталон.

Теперь используются копии общих эталонов — detect_format_version (авторитет
form-compile) и support-guard: is_external_root (авторитет cf-edit), оба
навыка добавлены в реестр check-inline-drift.

Попутно вскрылось следствие для соседней проверки: обработка, чьи исходники
лежат внутри дерева с Configuration.xml (обычная раскладка src/cf рядом с
src/epf), считалась «конфигурационным контекстом», и Check 12 ругался на её
собственные External*-типы. Теперь климб останавливается на ближайшем
якоре — том же правиле границы автономного объекта, что в support-guard.

Плюс паритет: PS отчитывался «Data bindings: none», PY эту ветку не имел.

Кейс на EPF-контекст добавлен. Регресс 16/16 на обоих рантаймах, корпус
21 097 форм без новых срабатываний, гарды зелёные.
This commit is contained in:
Nick Shirokov
2026-08-12 19:28:11 +03:00
parent 7dc2e6e443
commit 71f047291c
12 changed files with 534 additions and 31 deletions
+4 -2
View File
@@ -59,7 +59,9 @@ const FAMILIES = [
'subsystem-compile', 'subsystem-edit', 'template-add', 'xdto-compile', 'xdto-edit',
// *-info навыки читают тем же хелпером СОСТОЯНИЕ поддержки для вывода, а не запрещают
// правку. Тело то же, поэтому семья общая.
'form-info', 'meta-info', 'mxl-info', 'role-info', 'skd-info', 'subsystem-info'] },
'form-info', 'meta-info', 'mxl-info', 'role-info', 'skd-info', 'subsystem-info',
// form-validate отличает автономную обработку от конфигурации: границей служит тот же корень
'form-validate'] },
],
},
{
@@ -92,7 +94,7 @@ const FAMILIES = [
// если <каталог>.xml — корень ExternalDataProcessor/ExternalReport, чего в дереве
// конфигурации не бывает. Поэтому вариант один на всех, переключателя не нужно.
{ id: 'base', authority: 'form-compile',
consumers: ['cfe-borrow', 'form-add', 'help-add', 'interface-edit', 'meta-compile',
consumers: ['cfe-borrow', 'form-add', 'form-validate', 'help-add', 'interface-edit', 'meta-compile',
'mxl-compile', 'role-compile', 'subsystem-compile', 'template-add', 'xdto-compile'] },
],
},