УЧЕБНЫЙ ПРИМЕР ПЕРЕИМЕНОВАНИЯ

Это отдельный чистый комплект для Windows и PowerShell. Внутри нет журналов прошлых запусков. Никакие пользовательские документы не нужны: generator создаст ровно 30 ПУСТЫХ файлов в original и еще 30 пустых копий в working-copy рядом со скриптами. Содержимое документов в этом опыте не проверяется. Не подменяйте эти каталоги настоящими файлами, ссылками или junction.

1. Полностью распакуйте ZIP в НОВУЮ отдельную папку. Откройте PowerShell именно в этой папке. Сначала просмотрите исходники скриптов. Если политика вашей системы запрещает запуск скриптов, не отключайте ее ради примера: передайте комплект администратору или выполните опыт в разрешенной среде.

2. Откройте approved.csv в редакторе или таблице с кодировкой UTF-8. Это ОБЯЗАТЕЛЬНАЯ карта выполнения: id,old,new,collision_group. В ней 30 строк, один постоянный ID на файл, точные old из prompt.txt и уникальные new с прежними расширениями. В этом комплекте new уже приведены редактором к нижнему регистру, включая --f01. Название approved не означает автоматическое одобрение для ваших документов: вручную прочитайте все 30 соответствий. Исходные файлы и карта относятся только к этому упражнению.

3. Создайте пустой набор:
   .\generate-test-files.ps1
   Ожидается: FIXTURE_READY original=30 working-copy=30 all files=0 bytes
   Генератор не очищает существующие каталоги и не перезаписывает файлы. При отказе используйте новую папку, а не удаляйте журналы старого опыта.

4. Проверьте защиту от коллизии:
   .\verified-rename.ps1 -Mode Preview -Map collision-example.csv
   Ожидается ошибка Target collision. Это намеренно испорченная копия карты, где два новых имени совпадают. Файлы не меняются. Не используйте ее для Apply.

5. Предварительный просмотр утвержденной после вашего чтения карты:
   .\verified-rename.ps1 -Mode Preview -Map approved.csv
   Ожидается PREVIEW_OK 30 files; 0 changes. Появится preview.csv. Сверьте его с approved.csv, original и списком working-copy. Этот шаг не переименовывает файлы.

6. Примените карту только к учебной working-copy:
   .\verified-rename.ps1 -Mode Apply -Map approved.csv
   Ожидается Apply OK 30 files; names verified.
   Появятся apply-journal.jsonl и apply-complete.json.

7. Не меняя approved.csv, выполните откат:
   .\verified-rename.ps1 -Mode Rollback -Map approved.csv
   Ожидается Rollback OK 30 files; names verified.
   В working-copy должны вернуться все 30 имен original. Появятся rollback-journal.jsonl и rollback-complete.json.

При прерывании или любой неожиданной ошибке остановитесь и сопоставьте журнал с фактическими именами. Автоматический аварийный откат не реализован. Повторный Apply в использованной папке намеренно запрещен. Для повторения распакуйте исходный чистый ZIP в еще одну новую папку. Не удаляйте прежние квитанции.

ФАЙЛЫ КОМПЛЕКТА
approved.csv — обязательная рабочая карта для всех обычных этапов.
collision-example.csv — только отрицательный тест Preview.
prompt.txt — точный исходный запрос к модели и список 30 учебных имен; скрипты читают его для сверки ID/old.
generate-test-files.ps1 — создает 30+30 пустых файлов, без копирования ваших документов.
verified-rename.ps1 — проверки, preview, применение и обратное переименование.
original и working-copy — пустые в поставке, наполняются генератором.

Скрипт жестко ограничен working-copy рядом с собой, 30 пустыми файлами и картой в этой же папке. Это демонстрация процесса; для настоящего архива требуется отдельная адаптация и проверка, а не смена пути в учебном скрипте.
