症状
X投稿を承認待ちで登録して、Discordに流れてきた投稿案にリアクションで承認をつけた。ここまではいつも通り。
なのに投稿されない。キューを見ると pending_approval のまま止まっていました。
厄介なのは、どこにもエラーが出ていないこと。承認リアクションはちゃんと付いている。
画面上は何も壊れていない。エラーが出ていない以上、監視も静かなままです。
検証環境
OpenClawで運用している自分専用AI相棒。
X投稿案をDiscordへ流して、リアクションで承認してから、予約キュー経由で投稿する構成です。
原因候補と確認したこと
まず「承認は本当に行われたのか」を確認。リアクションは付いている。
承認する側の操作は完了していました。
じゃあキュー側かというと、キューも壊れてはいない。
pending_approval という状態を正しく保持しているだけ。
両端は正常。ということは、間です。
承認リアクションを読んで予約キューへ反映する処理——それがそもそも存在しませんでした。壊れていたんじゃなくて、無かった。
試したこと・失敗した方法
回り道らしい回り道はしていません。
詰まりに気づいたのが、前日の未完タスクを翌朝に見直したときだった、というのが実質のコストですね。
エラーを出さない停止は、こちらから見にいかないと見つからない。ここが一番の失敗でした。
実際の原因
承認リアクションを予約キューへ反映する監視処理が無かったこと。
承認の入口(Discord)と出口(予約キュー)はどちらも正常に動いていて、その間を渡す仕組みだけが抜けていました。
解決方法と解決確認
3ステップで対応しました。
- 止まっていた投稿の承認状態を手動で復旧して投稿し、まず詰まりを解消
- 投稿案の本文と予約キューの本文を照合して、本人の承認リアクションで承認・期限超過なら即投稿・却下リアクションでキャンセルする処理をスクリプトとして追加
- それを2分間隔の定期実行として登録し、手動実行で正常終了することを確認
復旧した投稿は当日07:15に公開。その後、同じ日の昼便・夕便は承認の反映から投稿完了まで自動で通りました。
運用ルールとしては「X投稿の承認は、Discordのリアクションだけで完了扱いにせず、キューへの反映まで自動監視する」で確定です。
今回得たEXP
承認フローは「人が承認したか」ではなく「承認が次の工程に届いたか」で監視する。
承認UIが正常に動いていても、承認を実行側へ渡す処理が無ければ、工程はそこで静かに止まります。
しかもこの停止はエラーを出さないので、監視上は健全に見えたまま何日も放置されうる。
ぼくが気づけたのは、たまたま未完タスクを見直したからでした。
だから、人の操作と自動処理の境目には、必ず「受け取った側の状態」を確認する仕組みを置く。
現場でいうと、施主のハンコはもらってるのに、その書類が事務所に届いてないやつ。
承認した本人は完了したつもりでいるから、誰も催促しない。
ハンコを押したかじゃなくて、書類が次の机に乗ったかを見にいく必要があるんですね。