5/10
broadcast channels live (excl. email + Postiz)
NO
autonomous loop running
1
email subscribers
1d ago
last post ยท 4-day streak
generated 2026-09-13 14:00 UTC ยท reconcile/main-trunk @ 07771bd71 ยท auto-rebuilds on repo change
๐ THE AUTONOMY LOOP
NO โ daily autonomous publishing is not running today.
The dry-screen fires daily and would post if the gate were open. Real cadence, honestly: Last post 1 day(s) ago ยท current streak 4 consecutive day(s) ยท 24 total publish day(s) ever.
-
โ
1
Build the pipelinedaily_publish.py, distribution_loop.py, faceless_engine.py, faceless_publish_loop.py, publish_screen.py, publish_streak.py all exist and pass dry-runs. DONE.
-
โฌ 2
Connect the accountsX + LinkedIn API keys (owned-channel expansion) ยท Postiz droplet resize + OAuth for YouTube/TikTok/Instagram/Threads/Facebook/Pinterest.
-
โฌ 3
Justin's goRe-enable `F2F Daily Syndication` (or one-shot PUBLISH_GO=RESUME_SYNDICATION) for the 7 live owned channels. Separately, set POSTIZ_ALLOW_PUBLISH=I_UNDERSTAND once Postiz + accounts are live for the wider platform set.
๐ฅ CONTENT PIPELINE
generation โ queue โ quality gate
-
๐ก
Content generation surfacesReThink corpus (essays + policy briefs) is the source; 9 pieces have curated faceless-derivation specs, producing 45 rendered platform-native artifacts across 9 source pieces.WHY Generation is real and running โ it's the auto-publish leg that's gated, not the writing.FACELESS_PUBLISH_POLICY.md โ
-
๐ก
Faceless engine (queue โ render โ verify)9 source specs ยท 45 queued derived items (X threads, LinkedIn posts, quote cards, IG captions, short-video scripts, narrated audio). First real run landed field-notes-2026-09-13: see report.WHY Even on a real run, everything lands as OFFLINE-PREVIEW, not a real post โ Postiz isn't reachable (see Infra below), so nothing has gone out to any platform yet. The gate itself is proven: it correctly HELD items with unverified 'guarantee' language.latest faceless publish report โ
-
๐ก
Owned-channel pillar screen (daily_publish.py)Dry-lane runs daily 08:40 (F2F-DailyPublishDry) and screens Historical inventory counts are not current release evidence. Review each selected piece before authorized publication.WHY The screen works and is live; current eligibility requires a fresh review record.PROJECT_REGISTRY.md ยง3b โ
-
๐ข
Quality / verification gatepublish_screen.screen_piece (4-filter: TRUTH / LEGAL-FTC / ToS / WISDOM-discretion) + no-fabrication checks + Firstfruits warmth pass โ fail-closed, no override path in autonomous runs.WHY This is the one piece of the pipeline that's fully proven โ it's what makes the rest safe to eventually turn on.publish_screen.py โ
๐ OWNED CHANNELS
the site + the email list โ the assets Dispatch fully controls
-
๐ก
ReThink public hub (site-rethink)pages.dev URL returns HTTP 200 (live-verified at build time); PRIVATE_PREVIEW=False (config says public); custom domain rethink.fast2future.com resolves.WHY The site itself went public 2026-07-06 (config flipped, robots allow-all, sitemap references the real domain) โ but the domain purchase/DNS step hasn't landed, so it's only reachable at the opaque pages.dev URL today.open the live hub โ
-
๐ข
Email list โ Buttondown (fast2future)1 subscriber(s) (live from Buttondown). Capture embed is deployed and live (no API key required for the embed itself).WHY Connected and capturing โ the list is just tiny because reach is still โ0, not because the mechanism is broken.buttondown.com/fast2future โ
-
๐ด
Daily owned-channel drip (live posting)The dry-screen runs daily; the actual posting task (`F2F Daily Syndication`, 09:30) is Disabled โ paused by Justin's own 2026-06-18 decision, not a failure.WHY This is a deliberate pause, not a broken loop. Re-enabling it is a one-word tap.the exact re-enable command โ
๐ฑ SOCIAL CHANNELS
account-creation + OAuth are always Justin's tap
-
๐ข
Already live & auto-postable (5 channels)Bluesky, Mastodon, Nostr, Dev.to, WordPressWHY These need no further taps โ they post today when the daily drip (above) is re-enabled.CHANNELS.md (auto-generated registry) โ
-
๐ด
X (Twitter)๐ด NOT CONNECTED โ handle: (unclaimed/unwired) ยท [link](https://x.com)WHY Create an X developer app (account-creation) + generate 4 API keys โ store in credentials.md. Own-timeline posting code isn't written yet either โ both the account AND the poster are open.CHANNELS.md โ connect-taps โ
-
๐ด
LinkedIn๐ด NOT CONNECTED โ handle: (code-complete ยท awaiting OAuth cred) ยท [link](https://linkedin.com)WHY Create a LinkedIn developer app + OAuth the company page โ store linkedin_access_token. No small-dev API for hands-off posting even once connected โ drafts would still be hand-pasted.CHANNELS.md โ connect-taps โ
-
๐ด
YouTubeNot tracked in CHANNELS.md โ no account, no OAuth, no posting code yet.WHY Not in the channel registry yet. Needs Postiz reachable (it's not, see Infra below) + a Google/YouTube OAuth connection through it. Faceless engine already stages short-video scripts + narrated audio waiting for this pipe.CHANNELS.md โ connect-taps โ
-
๐ด
TikTokNot tracked in CHANNELS.md โ no account, no OAuth, no posting code yet.WHY Not connected. Same Postiz dependency as YouTube, PLUS TikTok's own extra wall: their Content Posting API requires an app-review audit before non-draft posting even once OAuth'd.CHANNELS.md โ connect-taps โ
-
๐ด
InstagramNot tracked in CHANNELS.md โ no account, no OAuth, no posting code yet.WHY Not connected. Same Postiz + Meta-developer-app dependency as the other Postiz-backed platforms.CHANNELS.md โ connect-taps โ
๐ง INFRA / PIPES
the plumbing everything above depends on
-
๐ด
Postiz (multi-platform fan-out backend)NOT running. Installed + secrets staged at /opt/postiz/ on the DO VPS, but the stack (8 containers incl. Temporal + Elasticsearch) needs ~4GB RAM; the VPS is 1GB and already hosts live Hermes.WHY ๐ฐ-gated: resize the droplet (~$24/mo) or stand up a second โฅ4GB host. This is the single biggest unlock โ it's the pipe for YouTube/TikTok/Instagram/Threads/Facebook/Pinterest all at once.POSTIZ_CONNECT_GUIDE.md โ
-
๐ก
Auto-publish loop โ owned channels (distribution_loop.py)Built, verified, currently paused (see Owned Channels above). 7 channels wired: Telegram, Bluesky, Mastodon, Nostr, Dev.to, WordPress, Buttondown.WHY Working machinery, closed gate โ the honest state is 'ready,' not 'broken.'distribution_loop.py โ
-
๐ก
Auto-publish loop โ faceless/wide platforms (faceless_publish_loop.py)Built, staged, never run (0 reports). Depends on Postiz being reachable, which it isn't.WHY Downstream of the Postiz blocker above โ nothing to verify by running it until that pipe exists.faceless_publish_loop.py โ
-
๐ก
Measurement / analytics (funnel_meter.py)Email-capture stage is LIVE (Buttondown, real number above). Traffic/session stages (Cloudflare Web Analytics) and purchase stage (Gumroad) read 'no data yet' โ the CF_ANALYTICS_TOKEN and gumroad_access_token secrets aren't set.WHY This is TAP_QUEUE's own '#1, everything else depends on it' item โ without it, every reach number below the email stage is a guess.TAP_QUEUE.md โ the measurement odometer tap โ
-
๐ข
Health monitor / silent-death watchdogF2F-HealthWatchdog runs every 6h โ checks heartbeat staleness + per-loop beats, digests to HEARTBEAT_LOG.md.WHY Live and verified firing โ this is the safety net that would catch a silently-dead publish loop.PROJECT_REGISTRY.md ยง3c โ