๐ก 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
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
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
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
Then distribute your next article:
node scripts/distribute-article.mjs
Try It Now
- Production: sqeval.com
- GitHub: antoniooreany/sqeval
- CtxLink (recommended LLM workflow tool): antoniooreany/ctxlink
SEO #ContentDistribution #OpenSource #SQEval #Cloudflare #NodeJS
๐ Links
- ๐ Read Full Article
- ๐ Try SQEval PRO Free
Top comments (0)