Two posts about the same 956-certificate migration were in the pipeline at once, and nobody caught it until a cleanup pass removed one at 02:02 on 2026-09-26.
The first was already live, dated 2026-08-06. Its title led with the 956 certificates and the watchdog that followed. The second sat in review, dated 2026-09-18, under a title about self-service and cadence that also named the 956 certificates. Both described the same 956 certificates and something each one needed from a customer. Different titles, same migration, same count.
Why the titles hid it
The titles were not the same, but they were close. Both carried “956” and a form of “certificate”. Past that, one talked about self-service and cadence, and the other talked about customers and the watchdog. What matched was the underlying event and the specific number. A title comparison saw two different posts. The event and the number saw one.
The removal commit named it plainly: a review-status duplicate of the published 956-certificates post, same migration, same story.
The same pass found five more
Three commits at 02:02:01, 02:02:10 and 02:02:25 removed six review-status posts in total. Each commit message called them duplicates of posts that were already published.
Four came out in a single commit: a branch-cleanup incident, a password-hash iteration cap, a parallel-sessions story and a support-diagnosis writeup. One was a post about shipping infrastructure instead of features, dated 2026-09-24. A post with the same title was already live under the date 2026-09-23. The certificate duplicate went out in its own commit.
What to compare
When you check a post in review against the published ones, compare the event and the number it describes. A different title does not make a different story. Here, two posts about the same 956-certificate migration overlapped, and six review-status posts were removed as duplicates of published ones.
AI Skills
Use this lesson with the AI assistant you already use
Two posts about the same real migration were dated six weeks apart and carried different titles. Both named the same count.
Paste the prompt, share only the context needed to answer it, and treat the result as a draft for your review. Do not include confidential information or let an AI assistant make changes without your approval.
Optional: for a visual report and saved memory, run /dxdev first.
Don’t have it? Get it at dxdev.com/skills/dxdev. The prompt works without it.
dxdev LESSON · paste into your AI coding agent
LESSON: A Different Title Does Not Mean A Different Story
SOURCE: dxdev.com/blog/two-posts-same-migration-same-story
WHAT HAPPENED: A real infrastructure migration had already been written up and published under one title. A second post about the same migration, with a different title, was sitting in review behind it. Both named the same count of affected certificates and described something each one needed from a customer. The removal commit called it a duplicate of the published post, same migration, same story. At 02:02, three commits removed six review-status posts in total, and each commit message called them duplicates of already published posts. One of the six had the same title as a live post.
THE RULE: Two drafts about the same underlying event can carry different titles and different openings while the facts underneath, such as the count, stay the same. Here the two titles differed while the count stayed the same.
CHECK MY CODE, then report PASS or FAIL with file:line for each:
1. Any content-dedup process that compares titles, filenames, or slugs, without also comparing the specific factual claims in the body.
2. Any pipeline that can generate more than one draft from the same underlying event or record, with no step that checks new drafts against already-published stories on the same event.
3. Any duplicate found and resolved by deleting a duplicate without recording which surviving post it duplicates, so the next pass can tell it was already handled.
THEN PRINT: a table (check, PASS/FAIL, evidence, fix) + a verdict (applies / partially / OUT_OF_SCOPE / no) + the single most important next action.