← 一覧に戻る
report-done-v2.sh改修(plan-viewer記事自動生成hook統合) 完了報告 (j-20260504-010)
2026年5月4日 15:07 更新
MD から自動変換されたページです。内容について質問があれば右下の ? ボタンからどうぞ。
✅ 完了
やったこと
gen-completion-summary.sh (/secretary-state/) を新規作成。plan_viewer_url が空のジョブに対して、verification_summary / done_when / verification_checks の内容を markdown に整形し、/.claude/scripts/convert-plan.sh を直接呼んで HTML 化、URL を計算して jobs.plan_viewer_url を UPDATE する。
report-done-v2.sh を改修。plan_viewer_url が空のときに gen-completion-summary.sh を呼び、戻ってきた URL があればそれを Telegram メッセージのリンクに使う。スクリプトが exit 1 を返した場合のみ既存の /app/jobs/ dashboard URL に fall back し、stderr に WARN を出してエラーログを /tmp/gen-completion-.err に残す。
検証 (j-20260504-009 apple-reminders で実施):
- 初回実行で md 生成 → HTML 配置 → URL を jobs テーブルに UPDATE。HTTP 200 で配信されることを curl -I で確認。
- 再実行で同じ URL を返し md は再生成しない (冪等)。
- j-20260504-001 (既に URL 入り) で実行しても上書きされない (後方互換)。
- 存在しない job_id (j-99999999-999) で gen-completion-summary.sh を呼ぶと exit 1。report-done-v2.sh の if NEW_URL=$(...) 分岐で fallback path が発動することはコードレビューで確認 (本フローでは健人 msg 5527 で問題化した /app 黒画面に飛ぶケースが、自動生成成功時は plan-viewer URL に置き換わる)。
成果物:
- 新規: ~/secretary-state/gen-completion-summary.sh (5930 bytes、実行可)
- 修正: ~/secretary-state/report-done-v2.sh (差分: plan_viewer_url 空時の自動生成 hook 統合 14 行追加)
- テスト副生成: ~/plans/2026-05-04_j-20260504-009-completion.md + ~/plan-viewer/ 配下 HTML
本ジョブ j-20260504-010 自体の Telegram 完了報告も新仕組みを通って配信される (plan_viewer_url 空 → gen-completion-summary.sh 自動実行 → URL UPDATE → Telegram にその URL を載せる)。
完了条件
- gen-completion-summary.sh 新規追加 (plan-viewer 記事を自動生成)
- report-done-v2.sh 改修 (plan_viewer_url 空時に自動生成 hook を呼ぶ)
- 既存ジョブ (j-20260504-009 apple-reminders) で動作確認: HTTP 200 + DB UPDATE 成功
- 冪等性確認 (再実行で同じ URL、既存 URL は上書きしない)
- fallback 動作確認 (md 生成失敗時のみ /app dashboard URL に切替)
- 本ジョブ自身を新仕組み経由で完了報告
次にやること
- 既存ジョブで plan_viewer_url が空のものは次回 report-done-v2.sh 実行時に自動で URL 生成される。明示的に再生成したい場合は手動で gen-completion-summary.sh JOB_ID を呼ぶ
- plan-viewer 記事のテンプレ調整 (健人フィードバック反映、見出しの順序変更、絵文字運用ルール等) は別ジョブで対応
- fallback 発動時の挙動を強化するなら、Telegram メッセージに ⚠️ マークを足して md 生成失敗を健人に伝える etc を別ジョブで検討
ジョブID: j-20260504-010
完了時刻: 2026-05-04 06:07:31 JST