mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-06 10:10:52 +03:00
fix(cfe-patch-method): ключ сравнения контроля — по измеренному правилу платформы
-Check считал дрейфом расхождение по пустым строкам (шумный ложный ДРЕЙФ, из-за которого -Actualize предлагал косметическую перезапись тела) и НЕ считал дрейфом расхождение по пробелам между токенами (тихий ложный АКТУАЛЕН — платформа такой метод молча не применяет, он рвётся при первом вызове). Правило платформы измерено на стенде: 27 вариантов косметики, платформы 8.3.24 и 8.3.27, общий модуль и модуль объекта, два независимых оракула (/CheckCanApplyConfigurationExtensions и рантайм-вызов метода) — результат везде одинаковый. Каждая строка Trim, строки, пустые после Trim, из сравнения выброшены, всё остальное байт в байт и с учётом регистра: значимы пробелы между токенами, пробелы внутри строкового литерала, комментарии целиком и регистр. Вердикт АКТУАЛЕН считается по этому правилу (Get-ControlKey / control_key); в PS сравнение ordinal, иначе -eq игнорирует регистр и порт расходится с Python. Эвристики слияния (якоря, поглощение, дифф) остались на прежнем мягком normalize. Кейсы: допуски (пустые строки, отступ, хвостовые пробелы) и два негатива — пробелы между токенами и регистр идентификатора. Co-Authored-By: Sergei Pleshanov <2357qwr@gmail.com> Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QoAJmoNbgWKobA7JGgN5S3
This commit is contained in:
co-authored by
Sergei Pleshanov
Claude Opus 5
parent
4fa57c73b5
commit
533dd0ded4
@@ -88,7 +88,7 @@ allowed-tools:
|
||||
|
||||
Правила:
|
||||
- Маркеры — на **отдельной строке с 0-й колонки** (без отступа), даже внутри отступов и текста запроса (`|…`).
|
||||
- **Незамеченные (unmarked) строки должны совпадать с оригиналом дословно** — это и есть «контроль». Если оригинал в конфигурации-источнике изменится, unmarked-контекст разойдётся → метод потребует актуализации (см. ниже; проверить пачкой — `-Check`).
|
||||
- **Незамеченные (unmarked) строки должны совпадать с оригиналом дословно** — это и есть «контроль». Дословно — включая комментарии, регистр и пробелы внутри строки (`Х = Х + 1` ≠ `Х=Х+1`); свободны только отступ и пустые строки. Если оригинал в конфигурации-источнике изменится, unmarked-контекст разойдётся → метод потребует актуализации (см. ниже; проверить пачкой — `-Check`).
|
||||
- Меняешь только свои `#Вставка`/`#Удаление`; чужой оригинал не трогай.
|
||||
|
||||
## Актуализация
|
||||
|
||||
Reference in New Issue
Block a user