mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-10 21:43:21 +03:00
Навыки автономны, общие утилиты копируются в каждый .ps1/.py, но нигде не было зафиксировано, какая копия эталонная и какие расхождения законны. Ревизия по #60 показала два класса семей: одни держатся побайтово (support-guard — 16 копий, db-обвязка — 12), другие разъехались без эталона (resolve_type_str — 6 копий и 6 вариантов, get_ml_text — 7 и 7). check-inline-drift.mjs держит реестр семей внутри себя: вариант → эталон → копии. Копия обязана совпадать с эталоном своего варианта; отклоняющийся вариант обязан иметь обоснование, иначе печатается как долг. Часть расхождений законна (esc_xml без " в form-* ради раундтрипа), поэтому модель хранит варианты, а не одно эталонное тело. Разъехавшиеся целиком семьи стоят на храповике maxVariants. Извлечение тел: PS1 — до строки ровно `}` (балансировка скобок даёт ложные 18 вариантов из 18 копий Assert-EditAllowed); PY — с обязательным снятием docstring-ов (иначе одинаковый код с разным описанием читается как расхождение). check-all.mjs — единая точка входа: check-enum-drift и check-uuid-invariant были рабочими, но не упоминались в README и никем не запускались. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>