magpie/app
pyr0ball a2620570fa feat(dupe-guard): add max_posts per-sub cap to prevent one-shot intro campaigns from re-posting
Adds max_posts INTEGER to campaign_subs (NULL = unlimited/evergreen).
Adds successful_post_count() query counting lifetime success records.
poster.py checks max_posts before the 7-day rolling dupe guard.

Root cause: campaign 2 fired 8 days after the last post (just outside the
7-day window), allowing a duplicate r/opensource pitch. Fix: set max_posts=1
on intro campaigns so the lifetime cap fires regardless of window.
2026-05-06 08:52:21 -07:00
..
api feat: opportunities UI improvements, MCP tools, session refresh, migrations 013-014 2026-04-27 07:49:34 -07:00
core feat: add Directus blog post publisher and MCP tool 2026-04-26 14:14:35 -07:00
db feat(dupe-guard): add max_posts per-sub cap to prevent one-shot intro campaigns from re-posting 2026-05-06 08:52:21 -07:00
services feat(dupe-guard): add max_posts per-sub cap to prevent one-shot intro campaigns from re-posting 2026-05-06 08:52:21 -07:00
__init__.py feat: scaffold Magpie — campaign scheduler + social posting platform 2026-04-21 16:51:33 -07:00
main.py feat(#7,#10): signal crawler -- Reddit + Lemmy community monitoring 2026-04-22 11:00:14 -07:00