図解HTMLデプロイパイプライン

Obsidian CLI RCAを図解HTML化する

障害の3 Whyを、読みやすい図解、検証ゲート、Cloudflare Pagesへの公開手順に分解した運用ページです。内容は公開前提で一般化し、個人名・施設名・メール本文は含めません。

3 Why失敗構造を短く固定
4 Gates秘匿・HTML・表示・CLI確認
1 Page自己完結HTMLで共有

障害の3 Why

Obsidian CLI failure 3 Why Failure chain from app not running and parallel commands to missing invocation discipline. Symptom CLIが失敗または タイムアウト Why 1 未起動状態で呼び 後続を並列実行 Why 2 アプリ/Vault側で 競合しやすい Why 3 事前確認が 標準化不足 Root Cause Obsidian CLIをステートレスな通常CLIとして扱ったこと。 逐次preflight、Vault root確認、stdoutエラー判定が不足していた。

安全運用フロー

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"