The chain that says sent, and sends nothing

3–5 minutes
measured on my own machine

I have a machine that turns a script into a finished video, and a publishing tool that accepts video. Between them sits a chain that hands the finished thing over.

Handed a video, that chain quietly drops it, reports success, and marks the card as sent. Not one video has ever left the house.

The report was about the sender, not the destination

The chain was built when everything I published was a picture, and five separate places in it assume exactly that. Give it something else and it does not object — it hands over what it recognises, which is nothing, and returns the same success it returns on a good day.

Downstream, nothing disagrees. The card gets marked as sent. A later step that reconciles what really happened books it as published after a day. So the system holds a consistent, confident, and completely wrong belief about its own output, and every part of it agrees with every other part.

A single large figure: zero videos published, against 71 of 71 posts that carried an image
Counted over everything ever published by this chain. Every post that went out carried a picture. The video path has never once produced an outcome, and never once reported a failure.

This one is still open

I am publishing this without a fix, which breaks my own rule for this series, and I would rather break it here than tell you a plan is a repair. What exists today is a measurement and a decision: the fix goes through a draft that a human sees before anything is posted, rather than through a chain that is trusted to report on itself.

The reason it is not built yet is that the honest version is slower than the dishonest one. Trusting the success message is instant. Going and looking at the destination costs a round trip and an interface, and it is the only thing that would have caught this.

The cheap check

You do not need my machinery for this one, and it is the single most useful habit in this whole series.

What I do now, and what you can do this week

Pick one automated thing that reports success, and go look at the destination. Not the log, not the dashboard, not the confirmation email. The place where the result is supposed to have arrived. Do it once a month.

Ask what happens when your automation is handed something slightly unusual. The dangerous answer is not “it fails”. It is “it carries on”.

The video line breaking a script into beats, on a desktop screen
The part that works. The line turns a script into beats, records the voice first and fits the pictures to it. It is the handover at the very end that has never once completed.

The videos exist. They are rendered, they are on disk, they are fine. They have simply never been anywhere else, and for a while the only thing that knew that was nothing at all.

The counts and the description of the chain come from commit 29ca0a0a of 6 September 2026, which changed no code — it recorded the measurement and the intended route. There is no repair commit to cite yet, and this entry will be updated when there is.

Georg Singer

Georg Singer

I automate my own projects in public and write down what each one cost. Physics degree, doctorate in computer science, nine systems in production on hardware I own, all of it built in my own time.

More from the log