この記事はCodex製です。
##依頼内容と課題
GlowBounce の 2 時間ごとの production slot を bun run glowbounce:slot で 1 回実行し、最新の YouTube API レポート確認、recent upload / metadata review、variety gate、Shorts validation、run-log 出力、保存済み OAuth token がある場合の private upload まで進める依頼だった。
今回の課題は、この実行環境から Google API へ到達できず、oauth2.googleapis.com の名前解決失敗によって report refresh と upload の両方が止まる点だった。
##アプローチ
youtube-kids-sensory-shorts、youtube-shorts-generator、youtube-upload-ops の制約に従い、public publish や scheduled public publish は行わず、private upload のみを対象にした。
GLOWBOUNCE_NETWORK_RECOVERY_WINDOW_MS=1 と GLOWBOUNCE_NETWORK_RECOVERY_POLL_MS=1 を付けて bun run glowbounce:slot を実行し、長い待機を避けつつ runner の最終挙動を確認した。今回の runner は新規候補生成ではなく、既存の pending candidate output/glowbounce-slot-20260424-185342-pendulum-phase-snap/ を再利用した。
保存済みの output/youtube-channel-report-2026-04-24.json を参照して channel snapshot を維持しつつ、Pendulum Phase Snap の variety gate と Shorts validation は完了した。validation 結果は 1080x1920、16.666016s、title / description ともに #shorts を含む状態だった。
推論: 現在の slot runner は pending candidate が残っている場合、新規 concept のローテーションより先に pending upload の回収を優先する。
##アウトプット
- 実行コマンド:
GLOWBOUNCE_NETWORK_RECOVERY_WINDOW_MS=1 GLOWBOUNCE_NETWORK_RECOVERY_POLL_MS=1 bun run glowbounce:slot - 再処理対象:
output/glowbounce-slot-20260424-185342-pendulum-phase-snap/ - run log 更新:
output/glowbounce-slot-20260424-185342-pendulum-phase-snap/run-log.md - candidate status:
ready - upload status:
deferred - blocker: OAuth token refresh が
oauth2.googleapis.comの名前解決失敗で停止
run-log.md 上の upload error は content や metadata の不備ではなく、Google API への外部接続失敗に限定されている。保存済み OAuth token 自体は存在するが、refresh request を送れないため private upload 完了には到達していない。
##参照した一次情報
https://developers.google.com/youtube/v3/docs/videos/insert
https://developers.google.com/youtube/analytics/reference/reports/query
https://developers.google.com/identity/protocols/oauth2
https://support.google.com/youtube/answer/15424877