mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-14 06:45:17 +03:00
feat(support-edit): навык переключения состояния поддержки + ссылка из диагностики гарда
Замыкает петлю issue #23: после отказа support-guard модель может легитимно включить редактирование. support-edit правит правила поддержки в Ext/ParentConfigurations.bin выгрузки (только XML; в ИБ — полной загрузкой): -Path <путь> -Set editable|off-support|locked (пообъектно или корень) -Path <путь> -Capability on|off (возможность изменения) Path-based, симметрично гарду — модель берёт путь прямо из отказа. Реализация: regex-замена in-place по разобранному формату bin (round-trip байт-в-байт; парсер подтверждён consumed=100% на корпусе acc/erp/K=7). При выключенной возможности (G=1) пообъектный -Set отказывает с подсказкой «сначала -Capability on» (явные шаги). Включение возможности ставит всё на замок (вендорские флаги «не редактировать» в выгрузке недоступны — массовой разблокировки нет; non-goal). Оба порта дают байт-в-байт идентичный bin. Диагностика support-guard (32 файла, 16 мутаторов × 2 порта) теперь печатает готовую команду support-edit под конкретный отказ. Тесты: фикстуры g0/g1 + кейсы set-editable/off-support/предусловие/capability со снапшотами bin; зелёные на PowerShell и Python. Все 16 мутаторов + support-edit зелёные на обоих рантаймах. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -137,7 +137,7 @@ def assert_edit_allowed(target_path, require):
|
||||
sys.stderr.write(
|
||||
f"[support-guard] Операция запрещена: {reason}.\n"
|
||||
f" Цель: {rp}\n"
|
||||
f" Безопасные пути: доработка через расширение (cfe-*); включить редактирование объекта/корня в конфигураторе; снять с поддержки.\n"
|
||||
f" Безопасные пути: доработка через расширение (cfe-*); либо support-edit -Path <цель> -Set editable (включить объект) / -Path <дамп> -Capability on (вся конфа read-only) / -Set off-support (снять с поддержки).\n"
|
||||
f" Отключить проверку: editingAllowedCheck = warn|off в .v8-project.json.\n"
|
||||
)
|
||||
sys.exit(1)
|
||||
|
||||
Reference in New Issue
Block a user