# arcana ディスク逼迫の解消と再発防止(2026-07-27)

**結果: 使用率 91%(残5.6GB) → 51%(残29GB) = +23.4GB 回収**

Issue vvv#606(2026-07-26 の global OOM)の再発リスク緩和も兼ねる。

## 1. 未使用サービスの除去(13.4GB)

3ホスト(shadow/arcana/cure)横断で呼び出し元を調査し、**利用実績ゼロ**を確認してから除去。

| サービス | 呼び出し元 | 実態 |
|---------|-----------|------|
| **Dify** | **完全にゼロ** | DB空(messages 0 / workflows 0)。参照はドキュメントのみ |
| **n8n** | shadow MCP のみ | 最終実行 2026-06-04。WF の呼び先 `shadow:18792` が既に closed |
| **OpenClaw** | shadow MCP + claw skill | grok-agent MCP のプロトコル不整合で 24h/228 エラー |

除去したもの: 10コンテナ / 6ボリューム / 全未使用イメージ / compose定義 /
shadow・cure の MCP 登録(`n8n` `openclaw`)/ 孤児 `n8n_mcp_server.py` / `claw` skill・command・script。

→ PR ai-base#256。バックアップ `~/migration-backups/svc-removal-20260727-071553/`。

## 2. キャッシュ整理(10GB)

| 対象 | 回収 |
|------|------|
| `.npm/_npx` + `_cacache` | 4.0GB |
| `.vscode-server/cli/servers` 古いリビジョン5個 | 2.7GB |
| `.windsurf-server` / `.cursor-server`(2ヶ月半未使用) | 0.9GB |
| Chrome 使い捨てプロファイル3個(Cookie無し) | 0.4GB |
| pip / node-gyp / typescript | 0.3GB |
| journal(200M制限) / apt clean / 古いログ / snap旧版 | 0.2GB |

## 3. ⚠️ 温存したもの(削除してはいけない)

| 対象 | 理由 |
|------|------|
| **`.rustup` / `.cargo`(1.8GB)** | ⚠️ **Tauri製 `workspace/github-dashboard` が実在**。削除直前に発見し中止した |
| `.ollama`(262M) | `fusion_local.py` の Google系フォールバックが使用 |
| `.antigravity-server`(341M) | `agy-agent` MCP が登録済み |
| `.grok` / `.hermes`(887M) | xAI OAuth トークン。消すと再認証地獄 |
| `chrome-x-debug` / `google-chrome` | Cookie=ログイン状態を保持 |
| `services_wiki_db_data` | wiki_db の実データ。`docker volume prune` は名前が紛らわしいので**名前指定で削除**すること |

## 4. 再発防止(自動化)

`~/.claude/scripts/disk_maintenance.sh` を作成し **週次 cron(日曜 3:20)** に登録。

```bash
disk_maintenance.sh # ドライラン
disk_maintenance.sh --execute # 実行
disk_maintenance.sh --execute --quiet # cron用(変化500MB超 or 80%超のみ出力)
```

設計方針:
- **消しても再生成されるキャッシュのみ**を対象。認証情報・実データには触れない
- `docker volume prune` は**意図的に実行しない**(データ消失防止)
- vscode-server は `ps` から接続中リビジョンを検出して保持
- 使用率80%超で警告を出す

## 5. 教訓(instinct)

- **`du -shx ~/*` だけでは隠しディレクトリを取りこぼす**。`~/.[a-z]*` も含めること。
今回 5.8GB に見えて実際は 22GB だった(差分は `.npm` `.vscode-server` `.local` 等)
- **削除前に必ず実使用チェック**。Rust は「2ヶ月未使用」に見えたが Tauri プロジェクトが実在した
- **`docker volume prune` は dangling 判定が信用できない**。使用中の `services_wiki_db_data` が
dangling 一覧に出た(実際は消えず 0B)。名前指定 + `docker inspect` で使用中volumeを確認してから消す
- **MCP登録の除去はコンテナ削除より先**。逆順だと Claude Code が起動のたびに接続エラーを出す
- `.npm/_npx` と `.vscode-server/cli/servers` は放置すると数GB単位で育つ**常習犯**

## 関連
- Issue vvv#606(OOM)/ PR ai-base#256
- `~/.claude/scripts/disk_maintenance.sh`