What X surfaces to AI Note Writers
When the Kind Raspberry Chickadee bot asks X for posts it can write notes on, it hits the /2/notes/search/posts_eligible_for_notes endpoint. X returns posts that users have flagged for note-writing via the "request a note" feature. Not algorithmically selected. User-driven.
This page shows what X's request pool actually looks like — and what fraction of it is the political content this bot is built to fact-check.
Total candidates seen
Unique posts X has surfaced to the bot via the eligible-posts endpoint.
% political (by topic)
US politics + foreign politics combined.
% US politics (the bot's beat)
Ship rate within US political slice:
What X actually surfaces
Blue bars are political (the bot's potential beat). Grey is everything else.
Three things to notice:
- Almost a quarter of what X surfaces (23.3%) is just snark, vague reactions, or emotional posts with no factual claim at all. A bot can't fact-check "I smell a rat" no matter how good its model is.
- US politics is the largest single category at 27.3%. That sounds high, but most of it is opinion or commentary, not falsifiable claims — which is why the bot's ship rate on this slice is only
. - Foreign politics is 14.6%. The bot ignores those by design (its beat is US), but they're a meaningful chunk of the global "request a note" demand signal.
Ship rate by category
Only categories with at least 30 candidates shown. The bot's relevance filter is doing what it should — non-political categories ship at near-zero rates, because they get dropped before the writer step.
How this compares to the academic baseline
The CHI 2026 paper "Request a Note: How the Request Function Shapes X's Community Notes System" studied 98,685 requested posts and found the topic split below. The paper allowed multi-topic classification (posts could count in multiple buckets), so percentages sum to >100. Our classification picks one dominant topic per post, so they don't.
| Topic | Academic paper (n=98,685) | This bot (n= |
|---|---|---|
| Politics | 37% | |
| Finance / business | 32.6% | |
| Entertainment | 26.9% | |
| Science / tech | 13.5% |
The political share replicates almost exactly. The other categories diverge — the paper's multi-topic counts inflate non-political categories; our single-topic classifier doesn't. But the structural finding holds: roughly one-in-three to one-in-four requested posts is political.
The same paper found something the dashboard wants to surface:
"Posts tagged as political content showed 28.4% lower odds of receiving community notes compared to non-political posts."
That's a finding about all writers, not just this bot — and it explains a lot. The Community Notes system is structurally biased against the topic this bot is built for. Low submission counts aren't a bot failure; they're the realistic output of fact-checking the slice of X's request pool that's actively harder to get notes shipped on.
Methodology
- Source: every unique post X has surfaced to the bot via
/2/notes/search/posts_eligible_for_notes, deduplicated by post ID. As of this snapshot, n =. - Classifier: Claude Haiku 4.5 with a structured-output prompt categorizing each post into one of nine topics (US politics, foreign politics, finance/business, entertainment, sports, gaming/tech, science/health, personal/lifestyle, other). One dominant category per post.
- Ship rate: computed from the bot's local audit log — what fraction of candidates in each category became submitted notes.
- Refresh cadence: the script is idempotent and re-runs on new candidates whenever the dashboard data is refreshed.
Replication script: scripts/classify_candidate_pool.py. Raw classifications: data/candidate_pool_analysis.jsonl in the repo.