hooks: stop uninstalling a hook whose .legacy restore failed
Commit

When putting the user's hook back into .legacy failed, uninstall went on to clean up that hook's backup, which could leave pre-commit running Entire's hook with the user's hook only in Entire's keep copy. It now records the error and leaves that hook's files as they are, so a retry finishes.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com Entire-Checkpoint: 01M47DJ3EFWN7EBRX21GW15222
Checkpoints
Checkpoint 1