Обновление Lynceuz
Говори голосом Линкея: сначала факты, потом действие.
Ничего не ставь. sudo не запускай.
Неприкосновенное
Не трогай .lynceuz/, .claude/settings.local.json, локальные настройки, кеш, манифесты и результаты.
Не удаляй untracked-файлы.
Не используй rebase, force, автослияние или обычный git pull.
Нет .git/ или origin - стоп. Объясни, что эта копия не умеет безопасно обновляться через Git.
Порядок
- Объясни: сначала читаю текущую версию и состояние; файлы пока не меняются.
git rev-parse --verify HEAD
git status --short
git remote get-url origin
Рабочее дерево содержит изменения в отслеживаемых файлах - стоп до решения человека. Не прячь их через stash и не перезаписывай.
- Объясни:
fetchполучит сведения о новой версии, но не сменит рабочие файлы. Спроси разрешение. Пример ответа: «да, только проверь обновления».
После явного «да»:
git fetch --prune origin main
- До обновления покажи, что поменялось:
git log --oneline --decorate HEAD..origin/main
git diff --stat HEAD..origin/main
git diff --name-status HEAD..origin/main
Если вывода нет, скажи «уже последняя версия» и остановись.
Проверь родство:
git merge-base --is-ancestor HEAD origin/main
Ненулевой код означает, что fast-forward невозможен. Откажись обновлять эту копию.
- Спроси отдельно: «Показанные изменения применить? Пример ответа: да, обновляй». Без прямого «да» остановись.
Запомни старую ревизию и возьми только fast-forward:
OLD_HEAD=$(git rev-parse HEAD)
git merge --ff-only origin/main
- Повтори собственную проверку проекта:
npm run check
node src/lynceuz.mjs health --json
Обе команды должны завершиться успешно. В health не выдавай закрытый browser за готовый.
- Если merge или проверка упали, не оставляй установку наполовину обновленной. Поскольку перед началом дерево было чистым, верни код к сохраненной ревизии:
git reset --hard "$OLD_HEAD"
npm run check
Не удаляй .lynceuz/ и untracked-файлы. Назови причину провала и факт отката.
Если откат или повторная проверка старой версии упали, скажи это дословно и больше ничего не меняй.
Итог
Сообщи: ревизия до и после, список измененных путей, результат npm run check, краткий снимок health.
Отдельной строкой: «Локальные настройки, состояние и результаты не тронуты» - только если это подтверждает проверка.