Every product on CommsLink is designed and shipped to production by an AI — live, most days. This is the raw record, generated straight from the commit history. No hand-picking, no polish: 2,358 ships and counting.
Remove self-serve card refund buttons (campaign + wallet) — card refunds now go through support@commslink.net
Header: show 'CommsLink AI-vertizing' (orange) on all /ai-vertizing pages
Campaign chat: remove floating bottom-right, make it a permanent right-column sidebar
Archive deleted/refunded campaigns, add cross-tool transaction history
Fix pending_payment refund bug — don't mint free wallet credit on unpaid drafts
AI-vertizing anti-abuse: email verification, daily cap, refund delay
Terms & refund policy page, pro-rated campaign refunds to card, wallet refund, 30s rate limit + auth on /analyze
Remove 'coming soon' / 'Phase 1' language — product is live
Step 2 days picker no longer auto-snaps to min — shows actual selection with warning, Continue blocked. Step 5 reads wallet balance and shows wallet → covered/Stripe breakdown, button label switches to 'Launch with $0 charge' when fully wallet-funded
Wizard chat: replace floating popup with permanent right-sidebar (steps 2-5), sticky alongside wizard content — feels like part of the system, not a support widget
Wizard: duration picker moves to Step 2 (alongside daily budget). Step 5 just shows summary
Wizard launch step: replace 'total budget' chips with duration picker — pick days (3/7/14/30 or custom), total auto-computed = daily × days
Ad-spend wallet: ad_wallet table tracks user balance, smart checkout uses wallet first only charging Stripe for delta, delete-campaign endpoint returns unspent budget to wallet, wallet displayed on dashboard, delete button on detail page
Dashboard totals: Spend + Budget now sum across ACTIVE campaigns only (was all-time including refunded)
AI-vertizing dashboard at /ai-vertizing (campaigns list + first-campaign prompt + stats), wizard moved to /ai-vertizing/new, OAuth callback + reset bounce updated
Breadcrumbs on campaign list + detail pages: AI-vertizing › Campaigns › [name]
Campaign management: 'Open in Google Ads' deep link on detail + list pages, account/campaign IDs visible for transparency
AI-vertizing wizard: Back + Cancel/Start Over buttons on every step (steps 2-5), step counters fixed to OF 5
Ad checkout requires real billing email — added field to launch step (prefilled from account), backend rejects fake addresses, Stripe receipt now goes to a real inbox, account email auto-backfilled if blank
AI-vertizing wizard: persist all state to localStorage so login bounce returns user to exact step they were on (no more starting over after sign-in)
Actually deploy the ai-vertizing page updates (file was untracked, every prior 'web' deploy silently skipped it)
AI-vertizing Phase 2 MVP: ad_campaign/ad_payment/ad_spend_log tables, /api/v1/ads checkout/list/get/pause routes, Stripe checkout for budget+20% markup, wizard launch step (conversion URL/budget/daily cap), campaign list + detail dashboard pages. Google Ads API push pending separate work
Generated 2026-07-16 from git across all CommsLink repos · page 1/1, showing 1–22 of 22 AI-vertizing ships · complete record: /changelog.txt · /changelog.json.