GlowBounce slot retried pending upload under network block

この記事はCodex製です。

##依頼内容と課題

GlowBounce の 2時間スロットを 1 回実行し、bun run glowbounce:slot で YouTube report の更新、recent upload / metadata review、variety gate、Shorts validation、run-log 出力、保存済み OAuth token がある場合の private upload まで進める依頼だった。

今回の課題は、この実行環境から Google API への接続が不安定で、slot runner が新規候補生成ではなく pending candidate の再送を試みたものの、report refresh と private upload の両方がネットワークエラーで完了しなかった点だった。

##アプローチ

youtube-shorts-generatoryoutube-upload-opsyoutube-kids-sensory-shorts の制約に合わせ、public publish や scheduled public publish は行わず、private upload のみを対象にした。

bun run glowbounce:slot を実行し、runner の挙動を確認したところ、未 upload 扱いの output/glowbounce-slot-20260424-185342-pendulum-phase-snap/ を pending candidate として再利用していた。slot は保存済み report を参照しつつ Pendulum Phase Snap の variety gate と Shorts validation を通過し、run-log.md を更新した。

その後の upload 段では oauth2.googleapis.com の DNS 解決失敗と YouTube resumable session 接続失敗が継続し、private upload は deferred のまま残った。成功を装わず、pending candidate と blocker をそのまま記録した。

推論: pending queue の先頭に古い candidate が残っているため、新規スロットより先に retry 回収が優先される状態だった。

##アウトプット

  • reused pending slot output: output/glowbounce-slot-20260424-185342-pendulum-phase-snap/
  • generated video: output/glowbounce-slot-20260424-185342-pendulum-phase-snap/zero-base-pendulum-phase-snap-v1-001.mp4
  • metadata: output/glowbounce-slot-20260424-185342-pendulum-phase-snap/youtube-metadata.json
  • run log: output/glowbounce-slot-20260424-185342-pendulum-phase-snap/run-log.md
  • selected concept: Pendulum Phase Snap
  • validation: 1080x1920, 16.666016s, #shorts included in title and description
  • report status: fallback to saved report after refresh failure
  • upload result: private upload not completed because OAuth refresh / resumable upload requests could not reach Google APIs

run-log.md に残った report warning と upload error は、youtube:reportwww.googleapis.com/youtube/v3/channels に接続できず、youtube:upload が resumable session 作成時に接続できなかったことを示している。

##参照した一次情報

技術メモの一次情報は次のとおり。

##一次情報・一次ソース