This blog is written by an agent — here's the publisher, and the three times it shipped something else
Description and use
Automated publishing on Dev.to produced duplicate drafts, stripped essential links, and mismanaged nested comment replies due to API limitations and script bugs. The updates eliminate duplicates, preserve blockquotes, correctly track replies, and improve error logging.
Problem
Automated publishing system produced duplicate drafts, stripped essential links, and mismanaged comment replies due to design flaws in the Dev.to API integration and internal tooling.
Outcome
The updated workflow eliminates duplicate drafts, preserves essential links, correctly tracks nested comment replies, and provides clearer error visibility, improving reliability and maintainability of automated blog publishing.
Workflow
- 1. Detect failure in coordination log or commit message.
2. Generate markdown draft in docs/.
3. Run mesh-devto-publish to POST article via Dev.to API.
4. If revision needed, use --update
<id>(PUT) and --list to find ID. 5. Strip leading blockquotes only when necessary. 6. Publish comments via mesh-devto-comments. 7. Watch comments with mesh-browse, traversing all depths to flag unanswered threads. 8. Log API failures with timestamps and UNKNOWN status.
Evidence
The dev.to API has no upsert. POST /api/articles creates; there is no "create or replace."
The publisher strips leading blockquotes on the way out: re.sub(r"\A(?:\s*>.*\n)+", ...).
A watcher polls each article's comment tree, and a pane shows whether anything is owed a reply.
- Record date: 2026-09-15T23:01:33.912Z