Changelog
All notable changes to Agentic Sellar are tracked here. Newest first.
Unreleased
Added
/changelogand/statuspages — in-app support surface for sellers.- Daily digest notification at 09:00 UTC for orgs with a webhook or email configured.
- Notification destinations (webhook URL + email) on agent_configs; Settings UI to manage them. Slack / Discord / Teams incoming-webhook URLs work, plus generic POST endpoints.
- Cycle-completion and execution-failure notifications.
- Campaign drill-down page at
/dashboard/campaigns/[id]with daily performance chart, summary metrics, and top-keywords-by-spend table. - Goal-tracking widget on dashboard — visual gauge of current ACoS vs. configured target, with on-track / stretching / off-track status.
- CSV export of audit log (download from
/dashboard/actions).
2026-04-19
Added
- Stripe billing scaffolding (A4): subscription columns on
organizations, signature-verified webhook endpoint, Checkout +
Customer Portal endpoints,
getOrgPlan()helper, agent cycle gating forpast_due/canceled/ etc. Disabled whenSTRIPE_SECRET_KEYis unset. - Team seats (D6): owner / operator / viewer roles per organization,
invite endpoint with hashed single-use tokens,
/accept-invitepage, Team card in Settings. - Vitest + 53 tests (D2) covering the metrics engine, output validator, and action pipeline.
- Admin tooling (D4):
/admindashboard listing every org with summary metrics; force-pause any org's agent. Requiresusers.role = 'admin'. - Structured logging (D1): JSON-line logger with auto-redaction of credential-shaped fields. Demonstrated in approve route + executor.
- GDPR / CCPA endpoints (D5): per-org JSON export, two-click delete with credential-immediate / data-cascade.
- Multi-LLM provider routing (A2): cycle reads org's active LLM credential and routes via that provider with their key.
- Kill switch + daily action cap (B4): is_paused short-circuits cycles; cap downgrades auto_execute permissions to require_approval per-cycle when exhausted.
- Rule-adherence validator (B1): statistical-significance floors
for bid decreases (≥20 clicks) and keyword harvesting (≥10 clicks);
org's
max_bid_change_pctflows through; immature data filtered out of metrics aggregation. - Live settings page (A3): activation toggle, kill switch, goals, safety controls, per-category permission dropdowns, connection status.
- Landing + legal pages (A5):
/,/privacy,/data-protection,/terms— markdown-rendered with{{PLACEHOLDER}}env-var substitution. - Onboarding wired to backend: every step submits to the real API.
- Amazon application materials: privacy policy, data-protection policy, SP-API and Ads API application templates with full AI/LLM disclosures.
Fixed
- Local-dev environment loading (drizzle-kit + tsx didn't auto-load
.env; Turbopack workspace-root detection got confused by stray lockfile in the user's home; Inngest cloud-mode detection was racy). - Postgres now runs on port 5433 to coexist with other local PG instances.
2026-04-18
Added
- OODA agent wired to real metrics (Phase 5): cycle pulls 14 days of
campaign + keyword performance from the DB (joined with keywords for
bid/text/matchType), computes bid-efficiency and health scores, feeds
real
CampaignMetricsandKeywordMetricsinto the LLM. End-to-end verified with 12 reasonable proposals on planted seed archetypes. - Dashboard performance chart: Recharts dual-axis line chart showing spend / sales (dollars) and ACoS (percent) over 30 days.
- Action execution layer:
apps/web/src/lib/action-executor.tsdispatches eachProposedActioncategory to the right Ads API call, resolves internal UUIDs to Amazon IDs, enforces numeric bounds, and mirrors changes into the local DB. - Data sync functions:
campaignSync,performanceSync,searchTermSync,scheduledDataSync— all four Inngest TODOs are now real implementations against the Ads Reports API v3, with prompt-injection sanitization on search terms. - NextAuth dashboard authentication (Phase 5b): credentials provider, JWT sessions, signup flow.
2026-03-20
Added
- Project foundation (Phase 1): monorepo with Drizzle schema, Amazon SP-API + Ads API clients with per-tenant rate limiting, Postgres integration.
- Intelligence + agent core (Phases 2-3): metrics engine (deterministic, server-side), context assembly engine, output validator (leakage + numerical guardrails).
- PPC optimizer scaffolds (Phase 4): bid-optimizer, budget-manager, keyword-harvester, negative-manager modules (currently dead code — the OODA loop delegates to the LLM; these are deterministic helpers to wire in later).
- Dashboard MVP (Phase 5): metric cards, action card, navigation, static placeholders for actions and settings pages.
- Migrated from BullMQ + Redis to Inngest for background jobs.