Goal: actually wipe the existing social history from the connected accounts. The machinery looks complete — this is about proving it runs against real accounts, not building it.
What already exists
app/Services/Social/PurgeService.ts— preview/execute, per-provider adapters, confirmation phrase (DELETE ALL POSTS), a hard ceiling per run, and a pause between deletesapp/Actions/Postline/PurgePreviewAction.tsandPurgeRunAction.ts- Routes in
routes/api.ts:104-105(GET /purge/preview,POST /purge, rate limited to 3/hour) app/Models/PurgeRun.ts— read-only audit row per run- Danger zone UI in
resources/views/accounts.stx:136+with preview-before-delete and the confirmation input
Purgeable today: Bluesky, X/Twitter, Mastodon, LinkedIn. Instagram and Threads are declared unsupported with a reason shown in the UI (their APIs can't delete).
What to check
- Each of the four adapters still authenticates and deletes against the live API (tokens, scopes, endpoint drift)
trackedscope — deletes exactly the posts Postline published, nothing elseallscope — enumeration works per provider; confirm which providers can delete but not enumerate, and what the UI says in that case- Local cleanup:
post_targets/postsrows are reconciled after a run - A
purge_runsaudit row is written for both preview and execute - Rate limits and the per-run ceiling are high enough to finish a real backlog, or document the "run it repeatedly" flow
- Decide what happens for Instagram/Threads — manual deletion, or drop them from the card
Done when
Running a purge from the Accounts page removes the real post history on every supported provider, with an audit trail, and anything it can't delete is stated plainly in the UI.
Timing
Chris asked for Postline/The Open Times to be finished and usable this week, and to start publishing from it next week — to Twitter, Bluesky, LinkedIn and The OT. That puts this issue in the this-week set, alongside #38, #39 and #40.