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 摘要。