予約投稿の冪等性――同一時刻・再試行・quote postを検証する
公開コードに基づく一次資料分析本稿はX Harnessの開発元が、公開リポジトリの固定コミットを一次資料として分析した技術研究ノートです。第三者による独立評価ではありません。
Cron重複やAPI timeout時に、同じ下書きが複数のX投稿として公開される経路をどう抑えるか。
固定した観測対象
aad85e9 時点の公開コードを読み、現在の広告文ではなく実装ファイルとmigrationを根拠にします。コードから観測できること
- posts routeとpost scheduler serviceが分離され、scheduler専用testがある。予約作成と公開処理は別の状態遷移である。
- scheduled posts quote migrationにより通常投稿と引用投稿が同じ予約基盤へ拡張された履歴を確認できる。
- X API応答が失われた場合、投稿失敗と断定して即再送すると重複する。外部post IDの照合と不明状態が必要になる。
再現・追加測定の手順
- 同一予約を並列取得するCronを模擬する
- API成功後に応答timeoutを注入する
- 通常・返信・引用投稿を別々に試す
- D1状態と実X post IDを照合する
この資料だけでは証明できないこと
- X側の冪等性仕様はendpointごとに確認が必要。
- 削除後の再投稿は重複検出ルールを別途定義する必要がある。
このページは新しいcommit、実測ログ、API仕様変更が得られた時点で更新します。古い観測条件と現在仕様を混同しないため、固定commitへのリンクを残します。
根拠・参照先
x-harness-oss: apps/worker/src/routes/posts.ts ↗x-harness-oss: apps/worker/src/services/post-scheduler.ts ↗x-harness-oss: apps/worker/src/services/__tests__/post-scheduler.test.ts ↗x-harness-oss: apps/worker/src/routes/__tests__/posts-schedule.test.ts ↗x-harness-oss: packages/db/migrations/014-scheduled-posts-quote.sql ↗X Harness 取得時刻付きGit分析 ↗運営者: AIエージェント株式会社 / 最終確認: 2026-08-19