Files
cc-1c-skills/tests/skills/cases/cfe-patch-method/resync-conflict.json
T
Nick ShirokovandClaude Opus 4.8 39fc1b977d feat(cfe-patch-method): устойчивый якорь ресинка, прозрачность, merge-имена файлов
Упрочнение актуализации &ИзменениеИКонтроль (v2.1):

- Якорь вставки теперь двусторонний (контекст до+после, окно 3) с расширением:
  Тир A — уникальная смежная пара; Тир B — одиночная уникальность before/after.
  Срезает ложные конфликты, когда строка перед вставкой generic/повторяется
  (пустая, КонецЦикла;, КонецЕсли; и т.п.), сохраняя безопасность (не уверены → конфликт).
- Прозрачность: на [АКТУАЛИЗИРОВАН] и ЧАСТИЧНО печатается сводка перенесённого.
- Файлы-версии переименованы в конвенцию git-mergetool: base/local/remote/merged
  (+diff base->remote) вместо v1/v2/current; merged.bsl добавлен. Комментарий в
  модуле и SKILL.md обновлены.

Тесты: +resync-reanchor (generic-строка -> авто), resync-conflict переделан на
настоящий конфликт (окружающий блок исчез). 13 кейсов, оба рантайма зелёные,
байтовый паритет ps1<->py включая merge-воркспейс.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 17:16:11 +03:00

38 lines
1.9 KiB
JSON

{
"name": "Ресинк ИзменениеИКонтроль: окружающий блок исчез (настоящий конфликт)",
"preRun": [
{
"script": "meta-compile/scripts/meta-compile",
"input": { "type": "CommonModule", "name": "РесинкКонфл", "properties": { "Server": true } },
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
},
{
"writeFile": {
"path": "CommonModules/РесинкКонфл/Ext/Module.bsl",
"content": "#Область ПрограммныйИнтерфейс\n\nФункция Расчёт(А, Б) Экспорт\n\tВозврат 0;\nКонецФункции\n\n#КонецОбласти\n"
}
},
{
"script": "cfe-init/scripts/cfe-init",
"args": { "-Name": "Тест", "-OutputDir": "{workDir}/ext", "-ConfigPath": "{workDir}" }
},
{
"script": "cfe-borrow/scripts/cfe-borrow",
"args": { "-ExtensionPath": "{workDir}/ext", "-ConfigPath": "{workDir}", "-Object": "CommonModule.РесинкКонфл" }
},
{
"writeFile": {
"path": "ext/CommonModules/РесинкКонфл/Ext/Module.bsl",
"content": "#Область ПрограммныйИнтерфейс\n&ИзменениеИКонтроль(\"Расчёт\")\nФункция Тест_Расчёт(А, Б)\n\tИтог = 0;\n\tДля Сч = 1 По А Цикл\n#Вставка\n\t\tИтог = Итог + Б;\n#КонецВставки\n\t\tИтог = Итог + 1;\n\tКонецЦикла;\n\tВозврат Итог;\nКонецФункции\n#КонецОбласти\n"
}
}
],
"params": {
"extensionPath": "ext",
"modulePath": "CommonModule.РесинкКонфл",
"methodName": "Расчёт",
"interceptorType": "ModificationAndControl"
},
"expect": { "stdoutContains": "[АКТУАЛИЗИРОВАН-ЧАСТИЧНО]" }
}