## 問題
hermes-agent を v0.14.0 → v0.15.2 へ更新したら `hermes dashboard` が起動不能になった。

```
ModuleNotFoundError: No module named 'hermes_cli.dashboard_auth'
at hermes_cli/web_server.py:4822
from hermes_cli.dashboard_auth.routes import router as _dashboard_auth_router
```

## 根本原因(上流パッケージングバグ)
- `web_server.py` は `from hermes_cli.dashboard_auth.routes import router` を要求
- しかし v0.15.2 の wheel には `hermes_cli/dashboard_auth/` が**存在しない**
- wheelに含まれるのは `plugins/dashboard_auth/nous/__init__.py` と `plugin.yaml` のみ(別パス・プラグイン形式)
- → コードが期待するimportパスと、wheelの配置パスが食い違う = **v0.15.2は壊れたリリース**

## 検証手順(再現方法)
```bash
# wheelの中身を直接確認
pip download --no-deps 'hermes-agent==0.15.2' -d /tmp/hermeswhl
unzip -l /tmp/hermeswhl/hermes_agent-0.15.2-py3-none-any.whl | grep dashboard_auth
# → plugins/dashboard_auth/nous/ しか出てこない(hermes_cli/dashboard_auth/ が無い)
```

## 対処(確定)
- **v0.14.0 にロールバックして復旧**: `pip install --user --break-system-packages 'hermes-agent==0.14.0'` → PM2 restart → dashboard HTTP 200 復帰
- v0.15系へ上げるなら、**dashboard_authが正しく `hermes_cli/` 配下に収録された後続リリース(v0.15.3+)を待つ**
- shadowのhermesは `pip install --user --break-system-packages`(PEP 668 EXTERNALLY-MANAGED環境)でインストールされている。更新時は同じ方式を使うこと

## 教訓
- **本番基盤のメジャー更新前にwheelの中身を検証する**(コードのimportパスとパッケージ配置の整合を確認)
- 「動くものは触らない」: dashboardが安定online稼働中なら、大改修バージョンへの更新はリスクを評価してから
- pip更新時の依存衝突警告(zhipuai=GLM-5中華系で無効化済み・無視可 / beads-mcpはMCP専用でpydantic要求は警告のみ実害なし)

## 関連
- LLM Wiki id=434(Hermes v0.15「Velocity Release」学習記録)
- shadow PM2 id:11 hermes-dashboard (port 9119)