Content plan
Decide what Signal should create before it spends generation capacity. Plans are targets, not quotas.
The watcher can ingest a large news firehose without fully grinding every story. Generation stops when each account/content bucket has enough supply for its publishing plan.
Publishing accounts
Manage where Fusion publishes, which jurisdiction each identity represents, and its autonomous posting limits.
Routine posting times
Times use Melbourne local time. Enabled accounts are spread deterministically between these times; each account can override its offset above.
Tokens and app passwords live in Cloudflare Secrets Store. This screen only manages public account identity, routing and publishing behaviour.
Shortlist
Policy Takes and campaign event promos skip this queue automatically and land straight in the Pool for scheduling — check Pool to review or reject those.
Mentions & Replies
Inbound replies and mentions waiting on a human call — the same verb as the shortlist, pointed at someone else's post.
Filtered
0What is this: articles the Grinder passed over before any human saw them — a duplicate of something already ground, too little article text, a grind error, or the AI judging it off-taxonomy/below the quality bar (the badge on each row says which). What moves on: "Grind anyway" overrides the AI and forces it onto the Shortlist. What falls out: "Dismiss" discards it for good.
Dismissed
0What is this: the approve/dismiss audit trail — every decision made on a take, human or automatic. What falls out: nothing — this is the end of the line.
Publishing Queue
Approved Takes waiting to publish, grouped by Take and destination account. Network-level controls stay available without duplicating the whole Take.
Automation controls
Regrind from original sources in the current voice. Rewritten Takes move to Review; originals remain in notes.
Campaign Calendar
Events entered here (or synced from an external calendar) get promo takes auto-generated at 7 days out, 1 day out, and day-of, and drop straight into the Pool for you to review, edit, or dismiss.
Overview
Performance
Bandit Arms
What the loop currently believes, and how much evidence sits behind each belief. How this works →
Account Growth
Followers and engagement from the daily account snapshot and each post's 24h metrics. How the learning loop works →
Grievance Frequency
Hashtags
Breakdown of posted content by hashtag — #auspol/#fusionparty filtered out since they ride along on nearly every post.
Member-Drive Conversions
Signups, donations, event RSVPs, and volunteer sign-ons attributed to Policy Takes via UTM-tagged links (issue #73). Policy vs News compares posted-take volume alongside conversions — conversions only attach to Policy Takes today.
| Source | Posted takes | Conversions |
|---|
| Policy Take | Platform | Grievance | Conversions | Rate |
|---|
Activity
Every pipeline event in one stream (events_log): failed publishes and grinds, scheduler/watcher/policy failures, failed API requests, and uncaught browser errors. Newest first.
Diagnostics
A raw breakdown of what's actually in the database right now — every bucket the pipeline strip folds into one number, broken back out. Use this when the strip itself looks wrong (e.g. a bin shows 0 that shouldn't); paste the whole block back for debugging. See the full pipeline diagram ↗ for how a take moves between these buckets.
Loading…
LLM Spend
Provider-billed inference cost, attributed to the subsystem and Take that caused it.
Feed Sources
What is this: every news source the watcher polls — RSS, Atom or an explicit HTML listing adapter. Add, remove or edit sources here; saved changes take effect on the next poll without a deploy. What moves on: discoveries enter the Queue, where classification and Take generation run independently.
Story Intake
The durable D1 ledger between discovery and Takes. Follow each source article through classification, routing, research and generation; rejected stories retain the classifier's reason.
Grinder
What is this: the AI stage — each new article (from feeds or Studio) is deduped, scraped, ground into platform takes, risk-assessed, and quality-scored. What moves on: takes that fit the grievance lens and clear the score bar land on the Shortlist; policy/event/verified-low-risk takes skip straight to the Pool. What falls out: duplicates, too-short articles, grind errors, no-fits, and below-bar takes drop into Filtered.
Settings
Advanced operator controls grouped by responsibility. Source polling belongs on Feeds; publishing identities belong on Accounts. Runtime credentials and machine-owned session state are never exposed here.
Loading…
Articles
Worthy Victorian sources become grounded drafts here. Research, approval and Sanity publication remain explicit and auditable.
Grind
Neutral claim
Doesn't fit the lens
Bluesky / X
0/300Alt hooks
Mastodon
0/2000Quote card
0 wordsGraphic colours and fields
Refine
Graphics Studio
Build any campaign graphic: quote cards, stat receipts, candidate cards, banners, and more.