AltimateAI / AltimateAI/altimate-code

Prompt retry after a client timeout has no idempotency key

未關閉
#1,222 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
TypeScript
星號
811
分支
134
平均合併
3 天 2 小時
30 天內合併 PR
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
預估耗時
一週以上
活躍度
活躍
描述清晰度
需要釐清
新手友好度
28/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。