AltimateAI / AltimateAI/altimate-code
Prompt retry after a client timeout has no idempotency key
- Ngôn ngữ chính
- TypeScript
- Star
- 811
- Fork
- 134
- Merge trung bình
- 3 ngày 2 giờ
- Pull request đã merge (30 ngày)
- 50
Mô tả
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.
Hướng dẫn đóng góp
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- sql, typescript
- Lĩnh vực
- api, backend, cli, data-engineering, databases
- Loại issue
- Lỗi
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 28/100