Your agent just retried. Did it do the work twice?

Reddit r/AI_Agents Tools

Summary

作者分享了一次因重试导致重复扣费的线上事故,并介绍其正在构建的 FetchSandbox 工具——通过确定性故障注入检查工作流重试时的幂等性是否真正生效。

Got a 2am PagerDuty alert because a background job double-fired after a transient DB error. The workflow had been running fine for weeks. Tests passed, CI was green. Step 2 committed a DB write. CDC picked up that committed change, published an event, consumer processed it. Step 3 failed before the workflow hit a durable checkpoint. Orchestrator retried step 2. Another committed write went through, CDC published again, consumer processed again. Three customer records were in a weird state and one charge went through twice. A 200 alone doesn't tell you whether the final business state is correct or whether an effect ran once. This shows up in background jobs, CRUD workflows, anything where a retry on a committed step can produce a second effect. Agents make it worse because they generate and run this logic fast. Idempotency keys, outbox patterns, and dedup exist to prevent it. The verification question is whether they're actually holding under that failure sequence. I'm building FetchSandbox around deterministic checks for this. Team defines the exact rule, say one committed customer update. On supported paths, FetchSandbox injects a controlled failure, you observe the app retry, then read what the saved state actually shows. Results come back pass, fail, or unmeasured. Gaps are explicit. Run the same checks again when the workflow changes. The DB fault injection and CDC-specific stack we hit here is something we want to build out with design partners. If you're an eng lead or workflow builder dealing with cases like this, what does your team do today to catch this?
Original Article

Similar Articles

Testing agent workflows without connecting real accounts

Reddit r/AI_Agents

开发者介绍 FetchSandbox——一个用于安全测试 AI agent 构建的工作流的沙箱环境,无需连接真实账户即可验证状态、回放 webhook 并捕获重复扣费/重复邮件等问题。

@huangruiteng: Long-horizon agents have a tough engineering problem: the tool call timed out, but did the remote side actually execute? For example, submitting a GPU experiment, the client disconnects, and the remote may have already started. Submitting again directly could end up paying twice. LoopX preserves stable operation / Job i...

X AI KOLs Timeline

LoopX addresses the hard engineering problem of whether a remote side has executed after a tool call timeout in long-horizon agents. It achieves idempotent recovery through stable operation/Job identities, reading back external facts before deciding how to recover, and compositional verification — and has open-sourced this local-first control plane for long-horizon agents.

Property Testing with Agent Swarms

Lobsters Hottest

作者展示了如何用 AI 编码代理(agent swarms)构建属性测试基础设施,在不消耗额外 token 的情况下自动发现真实开源项目中的正确性 bug,仅在 Codex、uv、Prometheus、Router 等项目中就发现了数十个已合并修复的缺陷。