AltimateAI / AltimateAI/altimate-code

Prompt retry after a client timeout has no idempotency key

オープン
#1,222 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
TypeScript
スター
811
フォーク
134
平均マージ
3日 2時間
マージ済み PR(30日)
50

説明

Deferred from the v0.10.0 release review. Self-disclosed.

A prompt retried after a client-side timeout or connection reset carries no idempotency key (`packages/opencode/src/cli/cmd/run.ts`). If the server accepted the request and only the response was lost, the retry is executed a second time.

For a data tool this is not merely a duplicated read: a `sql_execute` carrying a mutating statement can run twice against a live warehouse. The exposure is largest under automation that layers its own retries on top.

Fixing this needs a server-side idempotency contract, not a client-only change.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

Start by reading packages/opencode/src/cli/cmd/run.ts and tracing how a prompt is retried after a client timeout or connection reset. The issue requires an agreed server-side idempotency contract; done means an accepted mutating request cannot execute twice when its response is lost and the client retries.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
sql, typescript
領域
api, backend, cli, data-engineering, databases
issue の種類
バグ
難易度
5/5
見積もり時間
1週間以上
活発さ
活発
明瞭さ
説明が足りない
初心者へのやさしさ
28/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。