障害の3 Why
安全運用フロー
NG path
やってはいけない流れ
Obsidianの起動確認なしに複数CLIを並列投入し、exit codeだけで成功判定する。
multi_tool_use.parallel:
obsidian search ...
obsidian read ...
obsidian vaults ...
Safe path
標準化する流れ
アプリ起動、Vault一覧、Vault root、対象path、stdoutエラーを逐次確認する。
Get-Process Obsidian
obsidian --help
obsidian vaults verbose
obsidian vault info=path vault="000_RC"
obsidian read path="..." vault="000_RC"
HTMLデプロイ手順
RCAを公開用に抽象化
個人名、施設名、メール文面、社内パス完全表記を削る。残すのは再発防止に必要な構造とコマンドだけ。
自己完結HTMLを生成
CSSと図解をHTML内に閉じ込める。外部CDN、外部フォント、外部画像は使わない。
ローカル検証
ブラウザ表示、モバイル幅、テキスト溢れ、禁止語、外部参照の有無を確認する。
Cloudflare Pagesへ公開
wrangler pages deployでデプロイする。公開後はURLとHTTP 200を確認する。
品質ゲート
| Gate | 目的 | 判定方法 | NG時の対応 |
|---|---|---|---|
| Privacy | 公開不適切情報を除外 | 個人名、施設名、メール本文、完全ローカルパスを検索 | 抽象化して再生成 |
| Self-contained | 単一HTMLで表示可能にする | 外部URL、CDN、画像参照を検索 | CSS/SVGをインライン化 |
| Visual | 読みやすさを担保 | デスクトップとモバイル幅でスクリーンショット確認 | 余白、折返し、グリッドを修正 |
| Deploy | 公開URLを確認 | wrangler完了ログとHTTP 200 | プロジェクト名、認証、ファイルサイズを確認 |
実行コマンド
ローカル検証
python -m http.server 8787
npx playwright screenshot http://127.0.0.1:8787/index.html desktop.png
npx playwright screenshot --viewport-size=390,1100 http://127.0.0.1:8787/index.html mobile.png
Cloudflare Pages
npx wrangler pages deploy . --project-name explainer-obsidian-cli-rca-pipeline --commit-dirty=true
Obsidian CLI preflight
Get-Process Obsidian -ErrorAction SilentlyContinue
obsidian --help
obsidian vaults verbose
obsidian vault info=path vault="000_RC"