Distribution Engine
Review queue, provider status, and posting windows
Distribution is API-first for TikTok draft uploads, with browser automation kept as fallback only. Artemis routes rendered variants, stores provider submission state, and uses Mission Control only where approval is configured.
Drafts
46
Active accounts
3
Approval tasks
10
Posting windows
0
Review-first delivery
@sam_the_wombat • TikTok Slideshow
STOP sending "just checking in" without a buyer decision. Monday morning, cold coffee, Slack open, calendar open, and one draft sitting there with no job. No problem recap. No owner. No date. No blocker. The buyer would have to remember the call, rebuild the problem, decide whether it still mattered, find the owner, and invent the next step. That is too much work for someone who already told you the problem once. Start with their words before yours. "reporting is messy and ops is stuck on onboarding handoff." Then ask one owner question. "If this is still a Q3 priority, is Maya owning Thursday review, or should I send the two examples to someone else?" No owner means no pipeline. It is a maybe with a polite subject line. Save the five-part follow-up. Buyer words, problem, owner, date, next step. After the email has a job, one Friday ContactSweeper batch for stale conference leads keeps Monday from turning into a search party. Send this to the friend writing soft emails, then drop the line you keep deleting.
ContactSweeper • auth api • browser expired
Metric feedback
weak • d7 • high
weighted 0.67 • normalized 0.70 • learning weight 0.85
Visual learning
SUCCEEDED • score 77
/opt/artemis/.artemis-runtime/storage/visual-analysis/cmqtesmmo002cl1upij96z4wr/cmqtesncl0035l1up487823ib/summary.json
Latest provider trace
tiktok_api_375f1a03266d4ccbb5e0808898154c0f
NEEDS_APPROVAL • TikTok accepted the upload and sent a creator Inbox notification; open TikTok to finish the draft.
/opt/artemis/.artemis-runtime/storage/provider-traces/tiktok/uploads/cmpjdpyoa002vl1l3g2oybyag/cmqtesmq9002ml1upqrhu68cx/upload_1392921d6ef64b73bda247600b1edfcf/2026-06-25T11-18-45.379Z-final.json
@24f496 • TikTok Slideshow
STOP searching his saved name when "you awake?" hits. It was 12:18, I was not trying to be brave, and the text was only two words. I did not reply. I opened Contacts because my phone still had the old route laid out better than my self-control. I found "Home" under my thumb, which is sick work after a breakup. There was also a duplicate number, an old address I pretended was practical, and one trip note that had become emotional evidence. My stomach dropped because the route back was too easy. His duplicate number made replying too easy. I slept before I trusted myself, mostly because morning me deleted one shortcut before I tried to feel healed. I deleted the duplicate number before I deleted the feeling, and that order matters. ContactSweeper can stay in the boring part. One small batch, one less route back, no personality transplant. Send this to the friend whose saved name could make her weak, then comment the one you would rename first.
ContactSweeper • auth api • browser expired
Metric feedback
weak • d7 • confirmed
weighted 2.52 • normalized 0.61 • learning weight 1.00
Visual learning
SUCCEEDED • score 80
/opt/artemis/.artemis-runtime/storage/visual-analysis/cmqteaoew0080l1lalnpfteht/cmqteaonc008jl1labbz6st3t/summary.json
Latest provider trace
tiktok_api_fb789494ead84d58b705c95af9b0d9fb
NEEDS_APPROVAL • TikTok accepted the upload and sent a creator Inbox notification; open TikTok to finish the draft.
/opt/artemis/.artemis-runtime/storage/provider-traces/tiktok/uploads/cmo5ivfq2000bl17trd6nwfi5/cmqteaohv008al1laob9p23jv/upload_698f9935fa0247249b7ffada2fee4416/2026-06-25T11-04-48.249Z-final.json
@finearttherapy • TikTok Slideshow
She used my name, then I deleted her plus-one. The private view was supposed to be paintings, not a friendship audit. I put her on the list because she said she wanted to see the artist. I texted the assistant, checked the spelling, and said she was with me. At check-in she said my name like a password. The door person found it, smiled, and suddenly she was inside. Once the room opened, her hand left my sleeve. The curator nodded at her, not me. I stood there with warm white wine and my shoulders up, watching her become fluent in a room she had entered through my name. By midnight my favorite little restaurant was in her caption, written like she had discovered it alone. I stopped calling access friendship after that. If someone is warm before the list, absent after the door, and poetic in the caption later, the pattern is not subtle. It is just dressed well. I deleted the plus-one thread in the taxi before I could call restraint maturity. ContactSweeper was one private batch, not a speech. Send this to the friend who keeps bridge contacts for pretty rooms, then comment the one that keeps a room open.
ContactSweeper • auth api • browser expired
Metric feedback
winner • d7 • high
weighted 0.64 • normalized 2.00 • learning weight 0.85
Visual learning
SUCCEEDED • score 74
/opt/artemis/.artemis-runtime/storage/visual-analysis/cmqte98ym003ml1lagd864si6/cmqte99gd004fl1la7hlt5404/summary.json
Latest provider trace
tiktok_api_22d77de2462c4238824c11e4a0ed74ff
NEEDS_APPROVAL • TikTok accepted the upload and sent a creator Inbox notification; open TikTok to finish the draft.
/opt/artemis/.artemis-runtime/storage/provider-traces/tiktok/uploads/cmpjdp58z001vl1l319lqd0x3/cmqte991e003wl1la2ga8vdf4/upload_7040bda843fa4902b223e4d238881bd2/2026-06-25T11-03-41.368Z-final.json
@sam_the_wombat • TikTok Slideshow
Friday admin rule: your work contacts should not become another productivity system you avoid. Old recruiters, duplicate coworkers, conference leads, maybe-client numbers, and mystery LinkedIn people all look useful until one follow-up becomes a search party. ContactSweeper turns that into one small shutdown ritual: swipe left for stale work clutter, swipe right for people you would actually follow up with, and review before merge so two similar professional names do not become one confusing contact. The point is not to optimize your entire life or pretend your phone is a CRM. It is to remove the small search friction that makes Monday feel heavier than it needs to be. Save this for Friday admin, send it to the friend who collects networking contacts like unfinished tabs, and comment the work contact that should probably leave first.
ContactSweeper • auth api • browser expired
Visual learning
SUCCEEDED • score 77
/opt/artemis/.artemis-runtime/storage/visual-analysis/cmql4ufsl0072l1d9ilbx96yb/cmql4ug6q007vl1d94ryvd8rk/summary.json
Latest provider trace
tiktok_api_3770cf6075964faaabfa9efc5a80d964
NEEDS_APPROVAL • TikTok accepted the upload and sent a creator Inbox notification; open TikTok to finish the draft.
/opt/artemis/.artemis-runtime/storage/provider-traces/tiktok/uploads/cmpjdpyoa002vl1l3g2oybyag/cmql4uftx007cl1d9qwfqwan7/upload_73333c38f5324cceacd2cd4e9c5bf769/2026-06-19T16-18-03.530Z-final.json
@finearttherapy • TikTok Slideshow
I used to think leaving a friendship meant one big speech. Then I realized the access stayed in tiny places: her saved contact, the group chat bridge, the warning nickname, the muted-everywhere number, and the family friend who still reported back. ContactSweeper makes the exit smaller and less performative: swipe left for old access that keeps drama reachable, swipe right for safe people you would answer, and review before merge so overlapping circles do not collapse into one messy thread again. You do not need a public life reset or one more argument to make distance real. Sometimes the cleanest boundary is removing the shortcut quietly, then letting your phone stop handing the wrong people easy access to you. Save this for the soft exit, send it to the friend leaving a weird circle, and comment the saved name that became a warning label.
ContactSweeper • auth api • browser expired
Visual learning
SUCCEEDED • score 75
/opt/artemis/.artemis-runtime/storage/visual-analysis/cmql4u9r6003jl1d96rg4c545/cmql4ua78004cl1d9lzte9b50/summary.json
Latest provider trace
tiktok_api_70b71e86e69345eeaefe16c31f80e429
NEEDS_APPROVAL • TikTok accepted the upload and sent a creator Inbox notification; open TikTok to finish the draft.
/opt/artemis/.artemis-runtime/storage/provider-traces/tiktok/uploads/cmpjdp58z001vl1l319lqd0x3/cmql4u9sv003tl1d9psic7xf6/upload_f3677e56ab2d48b586a7db6183d1e905/2026-06-19T16-17-56.260Z-final.json
@24f496 • TikTok Slideshow
You want to move on, but moving on feels too big tonight. So you start with the smallest goodbye: his saved contact, Do Not Answer, old situationship, Maybe Client, Girl From May, and the nickname you keep pretending does not still land. No speech. No closure text. Just one old door closing quietly. ContactSweeper keeps the reset tiny: one batch, one swipe, one review before anything merges, one less reason for your phone to drag you backward on a weak night. Swipe left for the ghosts you would hate explaining, swipe right for the people who belong in the life you are rebuilding, and let one tiny cleanup feel like choosing yourself without needing a huge ceremony. You do not have to fix the whole ache tonight or convince anyone you are fine. Just close one little door. Save this for the starting-over night, send it to the friend who needs a tiny goodbye, and comment the name that should leave first.
ContactSweeper • auth api • browser expired
Visual learning
SUCCEEDED • score 79
/opt/artemis/.artemis-runtime/storage/visual-analysis/cmql4myfs0048l1azcdwwfgq6/cmql4myl8004rl1azhofm3qci/summary.json
Latest provider trace
tiktok_api_c6880a9386ec478ea235bd1639558fa6
NEEDS_APPROVAL • TikTok accepted the upload and sent a creator Inbox notification; open TikTok to finish the draft.
/opt/artemis/.artemis-runtime/storage/provider-traces/tiktok/uploads/cmo5ivfq2000bl17trd6nwfi5/cmql4myhh004il1az5dx77jpj/upload_bfb66222493344a2ab842de8b6d0afe9/2026-06-19T16-12-14.833Z-final.json
@sam_the_wombat • TikTok Slideshow
Friday admin rule: your work contacts should not become another productivity system you avoid. Old recruiters, duplicate coworkers, conference leads, maybe-client numbers, and mystery LinkedIn people all look useful until one follow-up becomes a search party. ContactSweeper turns that into one small shutdown ritual: swipe left for stale work clutter, swipe right for people you would actually follow up with, and review before merge so two similar professional names do not become one confusing contact. The point is not to optimize your entire life or pretend your phone is a CRM. It is to remove the small search friction that makes Monday feel heavier than it needs to be. Save this for Friday admin, send it to the friend who collects networking contacts like unfinished tabs, and comment the work contact that should probably leave first.
ContactSweeper • auth api • browser expired
Visual learning
SUCCEEDED • score 77
/opt/artemis/.artemis-runtime/storage/visual-analysis/cmqkhhsgi0088l18q0vh4enwn/cmqkhkgbe00bql18qw228yxis/summary.json
Latest provider trace
tiktok_api_895e755f6a1543b6b20c06e0a30d2ff7
NEEDS_APPROVAL • TikTok accepted the upload and sent a creator Inbox notification; open TikTok to finish the draft.
/opt/artemis/.artemis-runtime/storage/provider-traces/tiktok/uploads/cmpjdpyoa002vl1l3g2oybyag/cmqkhk9e8001fl16aup34w2fc/upload_f4089bb5c5434abbbbdeaf43970f318a/2026-06-19T05-26-26.305Z-final.json
@finearttherapy • TikTok Slideshow
I used to think leaving a friendship meant one big speech. Then I realized the access stayed in tiny places: her saved contact, the group chat bridge, the warning nickname, the muted-everywhere number, and the family friend who still reported back. ContactSweeper makes the exit smaller and less performative: swipe left for old access that keeps drama reachable, swipe right for safe people you would answer, and review before merge so overlapping circles do not collapse into one messy thread again. You do not need a public life reset or one more argument to make distance real. Sometimes the cleanest boundary is removing the shortcut quietly, then letting your phone stop handing the wrong people easy access to you. Save this for the soft exit, send it to the friend leaving a weird circle, and comment the saved name that became a warning label.
ContactSweeper • auth api • browser expired
Visual learning
SUCCEEDED • score 73
/opt/artemis/.artemis-runtime/storage/visual-analysis/cmqkhhgx3004ul18ql4sqp8ss/cmqkhkcrz00ael18q8kc96egm/summary.json
Latest provider trace
tiktok_api_0171510bec3a4454b4eebf10e52a7647
NEEDS_APPROVAL • TikTok accepted the upload and sent a creator Inbox notification; open TikTok to finish the draft.
/opt/artemis/.artemis-runtime/storage/provider-traces/tiktok/uploads/cmpjdp58z001vl1l319lqd0x3/cmqkhk91y000ul16aiosz8npf/upload_481c0d395f6f404e9beea44394f4ab3a/2026-06-19T05-26-21.719Z-final.json
@24f496 • TikTok Slideshow
You just broke up with your boyfriend and you want so badly to move on, but his contact is still sitting there like a door you have not locked yet. Not the chat. Not the photos. Just his saved name, Do Not Answer, old situationship, Maybe Client, and every tiny shortcut back to a version of you that still wants a reply when the room gets quiet. ContactSweeper turns that heavy reset into one tiny action you can actually do: open a small batch, swipe left for the ghosts that keep pulling you backward, swipe right for the people who feel safe, and review before merge so similar names do not fold separate eras into one messy old story. You do not need to become a brand new girl by midnight. You just need fewer shortcuts back to the boyfriend you are trying not to miss. Save this for the weak moment, send it to the friend trying so hard not to text him, and comment the contact name that should probably go.
ContactSweeper • auth api • browser expired
Visual learning
SUCCEEDED • score 78
/opt/artemis/.artemis-runtime/storage/visual-analysis/cmqkhhmre006kl18q457rt2s6/cmqkhk8dh008yl18q766ivin5/summary.json
Latest provider trace
tiktok_api_6887109ea4d9495ba22bcfebd8bc5aa5
NEEDS_APPROVAL • TikTok accepted the upload and sent a creator Inbox notification; open TikTok to finish the draft.
/opt/artemis/.artemis-runtime/storage/provider-traces/tiktok/uploads/cmo5ivfq2000bl17trd6nwfi5/cmqkhk80g0009l16ax7gh7l18/upload_a5dc172fb569419f90659a82b36c7031/2026-06-19T05-26-16.734Z-final.json
@finearttherapy • TikTok Slideshow
I found out what my old best friend saved me as because she handed me her phone to show me a photo and I glanced at the top of the screen. My name wasn't my name—it was 'Free Therapy.' I'd been her late-night call, her crisis hotline, her unpaid emotional labor for years, and I never questioned it because she called me 'the strong one' and I thought that was a compliment. But a label like that isn't a joke; it's a receipt. It told me exactly what I was to her: a service, not a friend. The fake-sweet texts always came the morning after a crisis call—'miss you, love you, you're the best'—and I realized she was just checking that her access was still intact. She planned a birthday trip without me, posted it in the group chat I was in, and then privately messaged me 'next time.' I stayed. I kept answering. I kept being available because I thought leaving would make me mean. But the quietest exit I ever made was the one where I didn't send a final paragraph. I just stopped being the 2 a.m. answer. I renamed her 'Access Expired' in my phone, and that tiny act of relabeling gave me more peace than any confrontation ever could.
ContactSweeper • auth api • browser expired
Visual learning
SUCCEEDED • score 73
/opt/artemis/.artemis-runtime/storage/visual-analysis/cmqisrrbi02tal14h06nnmio6/cmqisrrpy02u3l14hchnwka8z/summary.json
Latest provider trace
tiktok_api_6091759b7ec94306bb7c90057c3c7b1d
NEEDS_APPROVAL • TikTok accepted the upload and sent a creator Inbox notification; open TikTok to finish the draft.
/opt/artemis/.artemis-runtime/storage/provider-traces/tiktok/uploads/cmpjdp58z001vl1l319lqd0x3/cmqisrrde02tkl14hzs7ppn4x/upload_926d770bb3c84f849f94991f2f30a516/2026-06-18T01-04-31.371Z-final.json
Approval queue
Review Creative Lab copy before upload
Stopped ContactSweeper: Merge Contacts slideshow before TikTok upload: no-passing-finished-script, title-body:slide-1-title-too-long, title-body:slide-5-title-too-long, render:slide-7-dangling-line-ending.
No account
Review Creative Lab copy before upload
Stopped ContactSweeper: Merge Contacts slideshow before TikTok upload: no-passing-finished-script, title-body:slide-1-not-title-only.
No account
Review Creative Lab copy before upload
Stopped ContactSweeper: Merge Contacts slideshow before TikTok upload: no-passing-finished-script, title-body:slide-1-not-title-only.
No account
Review Creative Lab copy before upload
Stopped ContactSweeper: Merge Contacts slideshow before TikTok upload: no-passing-finished-script, title-body:slide-1-not-title-only.
No account
Open TikTok inbox draft for @24f496
TikTok accepted the upload and sent an Inbox notification. Open TikTok Inbox to finish the draft in TikTok's editor.
@24f496 • TikTok Slideshow
tiktok_api_6887109ea4d9495ba22bcfebd8bc5aa5
NEEDS_APPROVAL • TikTok accepted the upload and sent a creator Inbox notification; open TikTok to finish the draft.
Open TikTok inbox draft for @finearttherapy
TikTok accepted the upload and sent an Inbox notification. Open TikTok Inbox to finish the draft in TikTok's editor.
@finearttherapy • TikTok Slideshow
tiktok_api_0171510bec3a4454b4eebf10e52a7647
NEEDS_APPROVAL • TikTok accepted the upload and sent a creator Inbox notification; open TikTok to finish the draft.
Open TikTok inbox draft for @sam_the_wombat
TikTok accepted the upload and sent an Inbox notification. Open TikTok Inbox to finish the draft in TikTok's editor.
@sam_the_wombat • TikTok Slideshow
tiktok_api_895e755f6a1543b6b20c06e0a30d2ff7
NEEDS_APPROVAL • TikTok accepted the upload and sent a creator Inbox notification; open TikTok to finish the draft.
Review Creative Lab copy before upload
Stopped ContactSweeper: Merge Contacts slideshow before TikTok upload: no-passing-finished-script, recent-repeat:finished-social-detox-soft-exit.
No account
Review Creative Lab copy before upload
Stopped ContactSweeper: Merge Contacts slideshow before TikTok upload: no-passing-finished-script, recent-repeat:finished-career-friday-admin.
No account
Open TikTok inbox draft for @24f496
TikTok accepted the upload and sent an Inbox notification. Open TikTok Inbox to finish the draft in TikTok's editor.
@24f496 • TikTok Slideshow
tiktok_api_c6880a9386ec478ea235bd1639558fa6
NEEDS_APPROVAL • TikTok accepted the upload and sent a creator Inbox notification; open TikTok to finish the draft.
Optimal posting predictor
No posting windows have been calculated yet.