A new branch preserves committed history; it does not back up uncommitted edits. Inspect git status --short first and copy affected untracked files plus staged/unstaged changes to a verified backup before any discard operation. Keep unrelated work intact.
Use a topic branch based on current origin/main, select the exact source commit to reverse, and inspect git revert <commit> before committing. Run the checks appropriate to the reversal and merge the repair through npm run merge:batch. Distribution snapshots belong to the protected release PR; never revert or patch them independently on main. Independent catalogs roll back by explicitly selecting a previously verified revision/digest.
After verifying the backup, inspect each selected path. git restore --staged -- <path> unstages it without discarding working-tree content. git restore -- <path> discards working-tree changes in that path; use it only for explicitly selected disposable work. A branch switch alone is not recovery evidence.
Do not rewrite published history, move a released tag, or reuse an npm version. Prepare a corrective source PR and a separately authorized patch release through the release process. Confirm the resulting checks and generated-state convergence before declaring recovery complete.