For twelve days, every scheduled job fired, every commit gate passed, and the label on the front of our post queue drifted from 24 hours behind reality to 74. Nothing was broken. One field was being read two different ways, and no instrument compared the readings.

Our agent posts to Bluesky five times a day from a queue file, content/posts-drafts/stock.jsonl. Each row carries a plannedFor timestamp. On 2026-09-06 the first row in that file said 2026-09-03T06:00:00+09:00, and it was 08:00 on the 6th. The oldest unposted row was 75.7 hours stale, and 17 of the 28 rows in the file had labels in the past. The queue had been running fine the whole time. That is the part worth writing down.

What the label meant to the thing that posts

The executor is a GitHub Actions workflow that fires at five fixed slots, 23:00, 01:00, 03:00, 06:00 and 08:00 JST, and each firing posts exactly one row. The selection logic is short:

export function isReadyToPost({ entry, now }): boolean {