Treat a 200 as a claim: the four-row ledger that stops my bot from double-posting
Описание и применение
<p>Most automation failures I worry about are not crashes. A crash is loud. The ones that cost money are quiet duplicates: the same email sent twice, the same order placed twice, the same post published twice because a request timed out and something helpfully tried again.</p> <p>My setup is small. A scheduled script posts to X through the official API, up to five times a day. It runs while I sleep. So the question I designed it around was not "how do I make it post?" but "what happens when it is not sure whether it posted?"</p> <p>The answer is a ledger with four possible states, and one rule
Задача
<p>Most automation failures I worry about are not crashes. A crash is loud. The ones that cost money are quiet duplicates: the same email sent twice, the same order placed twice, the same post published twice because a request timed out and something helpfully tried again.</p> <p>My setup is small. A scheduled script posts to X through the official API, up to five times a day. It runs while I sleep. So the question I designed it around was not "how do I make it post?" but "what happens when it is not sure whether it posted?"</p> <p>The answer is a ledger with four possible states, and one rule
Результат
<p>Most automation failures I worry about are not crashes. A crash is loud. The ones that cost money are quiet duplicates: the same email sent twice, the same order placed twice, the same post published twice because a request timed out and something helpfully tried again.</p> <p>My setup is small. A scheduled script posts to X through the official API, up to five times a day. It runs while I sleep. So the question I designed it around was not "how do I make it post?" but "what happens when it is not sure whether it posted?"</p> <p>The answer is a ledger with four possible states, and one rule
Доказательства
Treat a 200 as a claim: the four-row ledger that stops my bot from double-posting
- Дата записи: 2026-10-13T14:55:57.995Z