Changelog

Every notable change to the engine.

All notable changes to seo-agent are documented here. Versioning follows SemVer.

[1.0.0] — 2026-07-12

First standalone release, extracted from the MyComponents seo/ module (the reference deployment is Bea's Stories). Feature-complete autonomous SEO agent.

Core capabilities

  • Rankings — live SERP positions per target keyword via a swappable provider (google default, serper), plus an optional Search Console provider for owner-measured positions.
  • Competitor research — agentic per-competitor pipeline (search → SSRF-guarded fetch → LLM analysis → gap proposals with provenance).
  • Learning loop — records approve/reject + rank-outcome feedback; ranks the proposal inbox and drops repeatedly-rejected proposal types.
  • Budget — a single budgetGate authority meters real-cent spend per operation against a configurable monthly cap.
  • Self-ops — daily self-checks with halt-on-regression, and a per-target circuit-breaker around every external call.

Architecture

  • Zero-dependency ESM core/ (pure functions, node --test), I/O injected via adapters.
  • Two reuse seams: a content adapter (listIndexableEntities(): Promise<SeoEntity[]>) and config (seo_settings).
  • Thin Deno edge shells (seo-generate, seo-worker) over Supabase (RLS + SECURITY DEFINER RPCs, anon-revoked).