Files
cc-1c-skills/.claude/skills/role-edit/scripts
Nick ShirokovandClaude Opus 5 5b00410485 fix(role-compile,role-edit): шесть находок ревью
1. Резолв uuid вложенного объекта переписан со сквозной регулярки на
   спуск по дереву. Поиск по всему файлу брал первый узел с подходящим
   именем, а реквизит шапки и реквизит табличной части сплошь и рядом
   называются одинаково — ключ сортировки был чужим и вдобавок
   дублировался, из-за чего порты могли разложить узлы по-разному.
   Дочерние подсистемы лежат отдельными файлами и не резолвились вовсе:
   431 узел в ролях ACC. Теперь на реальной роли резолвится 90% узлов,
   остальное — стандартные реквизиты, у которых uuid в выгрузке нет.
   Для них предупреждение больше не печатается: это норма, а не потеря.

2. Фильтр умолчаний уносил право вместе с его ограничением RLS: условие
   пропадало молча. Право с ограничением отличается от умолчания самим
   ограничением и остаётся.

3. modify-property не обновлял кэш умолчаний, и следующие операции того
   же вызова фильтровали по старому флагу — запись попадала в файл ровно
   вопреки тому, о чём навык сам предупреждает.

4. Edit-RoleMetadata перечитывал Roles/Имя.xml на каждой операции, и в
   пакете первая правка молча терялась: set-synonym + set-comment
   сохранял только комментарий. В py-порте такого не было — расхождение
   портов закрыто.

5. Атрибуция сообщения в PS шла подстрокой по всему списку отброшенного,
   из-за чего причина приписывалась чужому объекту. Теперь префиксное
   сравнение, как в py.

Три новых кейса, семьи get_rights_object_uuid и is_standard_kind
заведены в check-inline-drift.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FGkXwoXTuafcu1SXMsauFq
2026-09-13 21:20:18 +03:00
..