mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-26 23:04:38 +03:00
2136245b69
Пилот энфорсмента issue #23: перед записью навыки-мутаторы проверяют состояние поддержки (Ext/ParentConfigurations.bin) и блокируют опасную правочку. Триггер — наличие bin (конфиг на поддержке); реакция из .v8-project.json editingAllowedCheck (deny|warn|off, по умолчанию deny). Assert-EditAllowed (нативная копия в каждом навыке, оба порта): walk-up резолвит uuid цели (объект / владелец / корень — по пути) и корень конфигурации, затем G-vs-f1 и консервативная свёртка min(f1). Два режима: require-editable (f1≥1, G≠1) для правок/добавлений; require-removed (f1=2) для удаления. - meta-edit (v1.7): editable на редактируемом объекте; - meta-compile (v1.13): editable на корне (добавление нового объекта); - meta-remove (v1.2): removed на удаляемом объекте. Диагностика через [Console]::Error.WriteLine + exit 1 (не Write-Error: под ErrorActionPreference=Stop тот бросает и был бы проглочен catch'ем). Тесты: малая on-support фикстура с рукотворным bin (root/Locked f1=0, Removed f1=2); guard-deny кейсы (expectError) — оба рантайма зелёные, старые кейсы не сломаны (конфиги без bin → allow). Поле editingAllowedCheck задокументировано в docs/v8-project-guide.md. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>