# 🔴 УДАЛЕНИЕ: ЯВНОЕ ПОДТВЕРЖДЕНИЕ + ПЕРЕПРОВЕРКА, ЧТО РЕАЛЬНО СЛУЧИЛОСЬ.

Директива пользователя (2026-06-07):
> «любое удаление требует явного, понятного и однозначного подтверждения от меня. но также если
> подтверждение есть и что-то удалено — надо перепроверить, что действие удаления правда случилось.
> надо перепроверять при копировании, что скопировалось; если потом надо удалить локально — мы
> перепроверяем, что удалили локально.»

## Правило — перед удалением
- **ЛЮБОЕ удаление** (файл, папка, репо, ветка, контейнер, образ, том, облачный ресурс, запись/
  таблица БД, scheduled task, tunnel) требует **явного, понятного и однозначного подтверждения
  пользователя** ДО выполнения. Никаких удалений «по предположению», «наверное не нужно», «выглядит
  мусором». Не уверена — спросить с конкретным списком, что именно удаляем.
- Никаких широких/слепых удалений (`rm -rf` корней, `DROP`, `prune --volumes`, `branch -D`).

## Правило — после удаления (anti-fabrication)
- **Перепроверить, что объект РЕАЛЬНО исчез**: `Test-Path`/`ls` (файл/папка), `docker ps -a`/
  `docker images` (контейнер/образ), `git branch`/`ls-remote` (ветка), API GET → 404 (облако),
  `SELECT count(*)` (БД). Команда может вернуть успех, **ничего не удалив** (permissions, lock,
  неверный путь, no-op). Не считать удалённым, пока не подтверждено.

## Правило — копирование/перенос
- После **копирования** — перепроверить, что **скопировалось** (файл существует, count/size/хэш
  совпадают) **ДО** удаления источника. Перенос делать как «копировать → verify → потом удалить
  источник» (напр. `robocopy /MOVE` удаляет источник только после успешной копии).
- Если позже удаляем **локальный** источник — снова перепроверить, что удалили локально (и что
  копия на месте).

## Механически (на хуках, активно — все wired)
- `human-confirmation-guard.py` (PreToolUse) — требует подтверждения для destructive intent.
- `destructive-command-guard.py` / `git-destructive-guard.py` — блок катастрофических удалений.
- `db-snapshot-guard.py` — снапшот БД перед destructive SQL.
- `verify-deleted-guard.py` (PostToolUse) — проверяет, что destructive-операция реально завершилась.

Связано: CLAUDE.md «Anti-Fabrication» («Deletion = re-verification»),
`system-verification-independent.md`, `safety-hooks.md`.
