878a9b3726
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
- #116: Batch N+1 queries in processEvergreen() — pre-load posted_at and pending status in 2 queries instead of N*M - #117: Extract buildArticleMeta() from renderTemplate() — category, author, tags resolved once per article instead of per service - #118: Wire up media attachments in Threads, WordPress, Medium, Tumblr, Teams, Google Business, Pinterest, TikTok - #119: Rewrite 7 stub plugins with correct API implementations: Dev.to (api-key header), Brevo (api-key header, campaign format), ConvertKit (api_secret body), Reddit (form-encoded, subreddit), Pinterest (v5 pins with media_source), SendGrid (single sends), Constant Contact (email campaigns), TikTok (content init) - #124: Teams — migrate to Adaptive Cards format, remove dead resolveCredential() method and duplicate webhook_url fallback - #125: Google Business — fix URL path segments (accounts/locations) and add media attachment support Authored-by: Moko Consulting Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>