DEV Community

antoniooreany
antoniooreany

Posted on • Originally published at sqeval.com

๐ŸŸฃ๐Ÿ”ต๐ŸŸข SQEval v1.17.0: Full Distribution Pipeline โ€” 17 Platforms, One Command

๐Ÿ’ก TL;DR: SQEval v1.17.0 ships a full multi-platform content distribution pipeline: 17 publisher adapters (Twitter/X, LinkedIn, Substack, Ghost, Bluesky, WordPress and more), an interactive setup wizard, 517 lines of new tests, and blog posts live from D1.


๐Ÿ† Key Results

Metric Value
๐ŸŽฏ MAE 7.27% (5K validated)
๐Ÿ“Š Benchmark Iterations 500,000
โšก AI Tokens Consumed 0
๐Ÿ›ก๏ธ Failover Circuit-breaker auto

SQEval v1.17.0: Full Distribution Pipeline โ€” 17 Platforms, One Command

By Antonio Oreany ยท March 29, 2026 ยท SQEval Engineering Blog

SQEval has always been about evaluating content quality at scale. With v1.17.0, we close the loop: now we don't just audit content โ€” we distribute it. This release ships a production-grade, fully-tested publishing pipeline covering 17 platforms.


What's New in v1.17.0

17 Publishing Platforms

The distribution engine now covers the full content ecosystem:

Category Platforms
Developer Dev.to, Hashnode, Hacker News, Ghost
Social Twitter/X, LinkedIn, Reddit, Bluesky, Mastodon
Long-form Medium, Substack, WordPress, Blogger
Community Quora, Tumblr
Messaging Telegram

Each platform has its own adapter in scripts/publishers/ with platform-aware formatting: Markdown for dev-focused platforms, HTML for CMS-based ones, plain text for social/messaging.

Interactive Setup Wizard

New setup-publishers.mjs automates credential onboarding:

node scripts/setup-publishers.mjs              # full interactive setup
node scripts/setup-publishers.mjs reddit       # single platform
node scripts/setup-publishers.mjs --check-only # validate existing keys
Enter fullscreen mode Exit fullscreen mode

The wizard auto-registers API tokens where the platform allows it (Mastodon app tokens, Bluesky sessions), validates credentials by making live test calls, and writes to .env automatically.

Distribution in One Command

node scripts/distribute-article.mjs
Enter fullscreen mode Exit fullscreen mode

This reads export/article.json, publishes to all configured platforms in parallel, and writes a distribution history to export/distribution_history.json. Every run is idempotent โ€” previously published articles are skipped.


Under the Hood: Test Coverage

This release ships with 517 new test lines:

  • tests/unit/distribution.test.js โ€” 388 lines, covers every publisher adapter: format validation, error handling, credential checks, and idempotency guards.
  • tests/unit/determinism.test.js โ€” 129 lines, ensures the scoring engine produces identical results across multiple runs. No silent regressions from floating-point drift.
npm run test:unit
Enter fullscreen mode Exit fullscreen mode

Blog Posts Now Live from D1

The /blog page fetches posts directly from the Cloudflare D1 database via /api/posts. Static stubs are gone โ€” every post is now a real database record, editable from the admin panel and visible immediately on publish.


Technical Architecture

The distribution pipeline follows the same patterns as the audit engine:

  • Platform adapters are stateless โ€” each publish*() function takes (article, config) and returns { success, url, error }.
  • History tracking uses a local JSON log (no external state), making the pipeline safe to run in CI.
  • Canonical URLs are set to https://sqeval.com/blog/posts/<slug> on all platforms for SEO consolidation.

Upgrade

git pull origin main
npm install
node scripts/setup-publishers.mjs
Enter fullscreen mode Exit fullscreen mode

Then distribute your next article:

node scripts/distribute-article.mjs
Enter fullscreen mode Exit fullscreen mode

Try It Now

SEO #ContentDistribution #OpenSource #SQEval #Cloudflare #NodeJS


๐Ÿ”— Links

Top comments (0)