Commit graph

9 commits

Author SHA1 Message Date
90d30167f8 fix: add timeout and error wrapping to _find_sticky, clean up test fixture 2026-04-27 12:23:44 -07:00
e37be0935d feat: implement RedditCommentStrategy and register in platform registry
Adds RedditCommentStrategy to app/services/platforms/reddit_comment.py,
resolving thread_id via thread_url_override or _find_sticky title search,
falling back to reconstructed URL when client.comment() returns empty string.
Registers the strategy under "reddit_comment" in the platform _REGISTRY.
7 new tests confirm all execution paths: url override, title pattern lookup,
not-found error, missing-extra error, empty-URL reconstruction, dupe guard,
and registry presence. Full suite: 34/34 passing.
2026-04-27 12:00:08 -07:00
719a1d5aca fix: address code review issues in reddit_comment thread detection helpers 2026-04-27 11:55:55 -07:00
9d955b2c50 feat: add thread detection helpers to reddit_comment strategy 2026-04-27 11:36:36 -07:00
ca9b2ac0b2 feat: add is_nth_weekday() and parse_occurrence() for scheduled comment gating 2026-04-27 11:04:30 -07:00
81a63ab0ec refactor: dispatch poster by campaign.type via platform strategy registry
Replace hardcoded platform dispatch with get_client(campaign["type"]) so
any future campaign type (blog_post, email, etc.) routes automatically
through the strategy registry. Adds dupe-guard opt-out per strategy,
sub_row pre-fetch for extra metadata, and 5 new TDD tests (14 total).
2026-04-27 08:38:12 -07:00
de6dc645f6 feat: add platform registry with get_client() dispatch 2026-04-27 08:12:47 -07:00
ae96621f6c feat: add RedditPostStrategy wrapping RedditClient.post() 2026-04-27 08:09:03 -07:00
2dd88285a2 feat: add PostingStrategy ABC and PostResult dataclass 2026-04-27 08:00:36 -07:00