Skip to content

feat: schedule atproto crossposting with oldest-first backlog replay#7

Merged
rabble merged 14 commits into
mainfrom
feat/oldest-first-crosspost-scheduler
Mar 29, 2026
Merged

feat: schedule atproto crossposting with oldest-first backlog replay#7
rabble merged 14 commits into
mainfrom
feat/oldest-first-crosspost-scheduler

Conversation

@rabble
Copy link
Copy Markdown
Member

@rabble rabble commented Mar 29, 2026

Summary

  • queue live relay events before cursor advance and publish them through dedicated live and backfill worker lanes
  • seed migrated-user backlog as oldest-first backfill jobs while still allowing new live posts to publish immediately
  • preserve delete-before-publish cancellation, add runtime scheduler coverage, and document the new rollout and ops behavior

Plan

  • Implements Task 5 and Task 6 from docs/superpowers/plans/2026-03-29-oldest-first-crosspost-scheduler.md

Test Plan

  • cargo test -p divine-atbridge --test publish_queue_scheduler -- --nocapture
  • cargo test -p divine-atbridge --test backfill_planner -- --nocapture
  • cargo test -p divine-atbridge --test publish_path_integration -- --nocapture
  • cargo test -p divine-atbridge --test replay_and_delete -- --nocapture
  • cargo test -p divine-atbridge --test runtime_resilience -- --nocapture
  • cargo test -p divine-atbridge --test e2e_local_stack -- --nocapture
  • cargo check -p divine-atbridge -p divine-bridge-db -p divine-bridge-types
  • cargo check --workspace (still blocked by unrelated divine-feedgen missing skeleton::FeedStore / DbFeedStore)

@rabble rabble force-pushed the feat/oldest-first-crosspost-scheduler branch from f04c266 to 8ed4f03 Compare March 29, 2026 06:33
@rabble rabble merged commit 06f6567 into main Mar 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant