mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-28 22:19:41 +03:00
fix(skills): в read-only навыках позиционным остаётся только путь ко входу
Тот же класс дефекта, что закрыт в role-validate, был возможен во всей семье *-info / *-validate / cfe-diff: лишний позиционный аргумент связывается со следующим параметром по порядку объявления. Остальные скрипты спасала случайность типов — на втором слоте оказался [int]MaxErrors/Limit или строка с [ValidateSet], которые падают на конвертации. Любая перестановка параметров в param() открывала дыру заново, а снапшот-тесты сверяют вывод, а не связывание. Во всех 21 скрипте объявлен [CmdletBinding(PositionalBinding=$false)], входной путь помечен Position=0. Инвариант: анализирующий навык не пишет в файл, который ему не назвали по имени. Документированные вызовы в репозитории все именованные, поведение навыков не меняется — 835 кейсов зелёные на обоих рантаймах без дрейфа снэпшотов. Гард check-positional-binding.mjs держит инвариант статически (объявление и единственный Position=0; в py-порте все add_argument именованные) и поведенчески (лишний позиционный аргумент роняет вызов, канареечный файл остаётся цел). Семья определяется по имени навыка, поэтому новый *-info/*-validate попадает под гард сам. На состоянии до правки гард падает на role-validate обеими проверками. Версии обоих портов подняты синхронно; из шапок убраны чужие хвосты. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
83d63fac47
commit
9e883d7f4f
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# cfe-validate v1.13 — Validate 1C configuration extension XML structure (CFE)
|
||||
# cfe-validate v1.14 — Validate 1C configuration extension XML structure (CFE)
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
"""Validates extension Configuration.xml: root, InternalInfo, extension properties, ChildObjects, borrowed objects."""
|
||||
import sys, os, argparse, re
|
||||
|
||||
Reference in New Issue
Block a user