# instinct: CCプラグインの物理削除はauto-restoreで蘇る

## 事象(2026-06-10 発見・claude-base#64)

- 2026-06-09 にお姉様指示で last30days プラグインを物理削除し、自前 jhd(`~/.claude/tools/jhd/`)に置換した
- ところが **同日深夜(JST 6/10 02:56 = UTC 6/9 17:56)に v3.3.2 が自動再導入**され、翌日のセッション起動フックで「Ready to use・Last run 18h ago」と現役表示されていた

## 根本原因

`~/.claude/plugins/known_marketplaces.json` にマーケットプレイス登録が残っていた。
`~/.claude/plugins/marketplaces//` は git clone であり、**Claude Code はセッション開始時に登録リストから origin/main へ auto-restore(再clone・再インストール)する設計**。ファイル削除は症状しか消さない。

## 完全削除の3点セット

```bash
claude plugin uninstall @
claude plugin marketplace remove # ←再発の根
rm -rf ~/.claude/plugins/{cache,data,marketplaces}/<関連物> + 関連スクリプト
# 検証: grep -c ~/.claude/plugins/known_marketplaces.json installed_plugins.json → 0
```

## マルチホストの罠

**plugins/ は claude-base で gitignored** のため、git reset 同期(deploy_all_servers.sh)では各ホストに伝播しない。shadow/cure/arcana/mac/win の各ホストで個別に登録削除が必要だった。

実施結果(2026-06-10): shadow=3点削除 / arcana=marketplace remove+rm -rf / cure=marketplace removeのみ(plugin未導入) / mac=3点削除 / win=残存なし。`last30days_daily.py`(arcana cron用残骸・cron未登録)は git rm して全ホスト同期で消滅(commit 4208b95)。

## 教訓

- 「物理削除した」記録があっても登録ファイルが残れば蘇る。削除作業は**登録(メタデータ)→実体→残骸スクリプト**の順で根まで断つ
- gitignored なディレクトリの掃除はホスト同期に乗らない。マルチホスト環境では各ホストで検証コマンドを回す

関連: claude-base#64 / memory instinct-plugin-marketplace-autorestore / project-jhd-research-engine(jhd置換の経緯)