Home
Hobocode Digital Civility Research The Weather Report · 2026-W38

No script reached the top tier this week, across a ledger running from a village vote in Oxfordshire to vigilante patrols near Milan, and two board threads called for violence

This is the record for September 14 to 20, 2026, and it closes at about 19:00 UTC on September 20, when our last collection read ran. September 20 is a partial day, and reaction to the German state results after that hour is absent. The 1,034-account roster is the frame we track; what we collected is smaller: all 152 X timelines on the roster were requested and 137 of them returned posts inside the window, 6,972 posts in all; Bluesky gave 5,270 posts, 4,569 of them from 46 of the 52 feeds we follow and 701 from 545 other accounts that reached the record through reposts on those feeds and keyword search; and the two boards gave 1,286 opening posts, 908 from /pol/ and 378 from /g/. Off-roster finds sit on top of that collection and are opportunistic. Every finding below describes that monitored sample. Each migration event that anchors a script on this page fed a script we already track. Piddington, a village in Oxfordshire, held a symbolic vote against an asylum camp planned at Bicester, and within a day a sitting MP wrote of the women of Piddington and the third world wolves. On September 18 Spanish police fired warning shots into the air as they moved people from Ceuta’s beaches to a new port camp built for 1,700; Euronews reported thousands moved and France 24 hundreds, and by the next day Euronews counted more than 4,000 people at the camp and more than 2,000 back on the beaches. Reports dated September 18 put the number of people still in the enclave at 12,000 to 13,000: Reuters carried a Spanish government estimate of 12,000 and France 24 a local-authority figure of 13,000, out of more than 72,000 who entered at the end of July. On September 17 the European Parliament adopted a resolution that calls the arrivals there an invasion; the invasion frame is the largest script by reach in our monitored sample, and two Tommy Robinson captions, one over an Italian train and one about delivery riders, carry most of it. Sweden’s final count gave the center-left a narrow win, and within two days seven named accounts were reading it as an election decided by people outside the nation. Unauthorised patrols assaulted North African men in Rozzano, near Milan, and one account celebrated the patrols across three days, asked its audience to make the men famous, and on September 20 described a march through the town, with approval, as a hunt for North Africans. In London a by-election candidate of Somali descent was told that Somalia is her home, and in the United States one account put the jihadist label on Abdul El-Sayed five times in the week the Vice President told House Republicans to “just talk about Abdul El-Sayed”. A dispute over Robert Kraft and a concert tour drew the hidden-hand script about Jewish people from two political lanes. Attacks on Jewish people and a synagogue in Milan, Wuppertal and north London, reported in the days before Yom Kippur, drew no carriage we could code in our incomplete monitored sample. Berlin and Mecklenburg-Vorpommern voted on September 20, and exit polls put the AfD first in Mecklenburg-Vorpommern on about 37 percent, one point ahead of the SPD, and Die Linke first in Berlin on about 24.5; in our monitored sample the result drew celebration and argument over the firewall from Naomi Seibt, Geert Wilders, Rupert Lowe and Tommy Robinson, which did not clear our harm bar, and two board threads on a Berlin candidate of Turkish descent, one of them confirmed. No script reached the top tier, and the ledger holds two explicit calls for violence, both board threads, one of them a stand-alone thread that sits outside the ranking. Every script carries the verdict no coordination identified, which means we found no bridge account, no named hub and no directive, and did not document independent origin either. Tiers rank scripts only, and stand-alone items sit outside the ranking with no score and no floor. The second call, a thread of September 20 calling for a purge of political opponents, sits inside the script that casts the political left as less than human. Our methodology gives the second-tier floor to a script whose harm potential reaches 5, which takes a concrete target with a place or a time and mobilization, or violence already carried out. Neither call for violence names a place or a time, so neither sets the floor. One script meets that anchor: the vigilante-celebration script, whose posts praise beatings already carried out in Rozzano, and its computed score of 3.5, the highest on the page, sits in the second tier on its own, so the floor changed nothing this week. Our collectors made their last successful read at 06:33 UTC on September 15 and their next at 22:55 UTC on September 19. X and Bluesky were read back afterwards, and our record holds no /pol/ thread created between about 06:29 UTC on September 15 and 09:11 UTC on September 19, a gap of about four days that cannot be refilled. The count of captured qualifying posts on the surfaces we monitor is a lower bound on what those surfaces carried. Impressions are platform counters read at capture time; they may rise later, and they are neither a count of unique people reached nor a lower bound on a script’s audience. The sample is purposive, off-roster finds are opportunistic, and no comparison with last week carries a directional reading.

The ledger holds 450 unique posts. The 36 scripts on it carry 55,480,243 platform-reported impressions, and the 30 stand-alone items add 1,719,325. Last week’s ledger held 367 posts and 29,821,738 impressions across 47 scripts, and none of those comparisons carries a directional reading: our collectors were offline for most of the week, as the passage below sets out, and this week’s impression total leans on two Tommy Robinson captions in the invasion frame, 12,462,781 on a post about delivery riders and 6,350,663 on an Italian train clip, together just over a third of it. The severity peak in our monitored sample is the vigilante-celebration script at 3.5, ten posts on the patrols that beat North African men in Rozzano. The migrant invasion frame scores 3.4, level with the Islam-eliminationist script, and is the largest script by reach at 20,202,638 impressions: twenty-five posts on five named accounts, eighteen of them one RadioGenoa caption template about Islamic troops at Calais, Ceuta, Spain and Greece, in the week Spanish police moved people from Ceuta’s beaches to a port camp and the European Parliament adopted a resolution that calls the arrivals an invasion. No post we captured cites the resolution. Nine scripts sit in the second tier and none reached the top tier, and the ledger holds two explicit calls for violence, both board threads, one of them a stand-alone thread that sits outside the ranking. Tiers rank scripts only. The 30 stand-alone items sit outside the ranking, with no score and no floor. The stand-alone call is a single thread arguing that most brown people should be removed by force. The second call, posted to /pol/ on September 20, calls for a purge of political opponents; its author hedges that the feeling will pass, it was coded at medium confidence, and it drew three replies. It sits inside the script that casts the political left as less than human, which scores 2.8 and sits in the third tier. The second-tier floor belongs to a script whose harm potential reaches 5: a concrete target with a place or a time and mobilization, or violence already carried out. Neither call names a place or a time, so neither sets it. The vigilante-celebration script meets that anchor on the beatings already carried out in Rozzano; its computed score of 3.5 already sits in the second tier, so the floor changed nothing. The replacement-and-remigration script and the migrant sexual-menace script sit level at 3.3, behind the invasion frame and the Islam-eliminationist script, and Rupert Lowe, a sitting MP, carries both: four replacement posts in three days, two of them school rolls by ethnicity, and the line about the women of Piddington and the third world wolves at 398,844 impressions. His post of September 20, telling an Islamic lobbying group that it has no place addressing an English club, reached 462,609 impressions, sits at the lowest rung and stands alone. The ethnic-vote script, held on one carrier last week, ran on seven named accounts inside 48 hours of the Swedish count. The vigilante-celebration script holds ten items: eight RadioGenoa posts, seven on the Rozzano patrols and one forecasting the same for Lecco; Tommy Robinson’s post on Ceuta; and one board thread approving a drone attack with stink bombs on foreigners. Five of the ten sit at the glorifying-violence rung, five of the ledger’s seven rows at that rung: four of the Rozzano posts and the Robinson post. The other five are coded hateful: three Rozzano posts, the board thread, and the Lecco post, a conditional forecast of something that has yet to happen. Two of the seven Rozzano posts came on September 20. One describes a march through the town as a hunt for North Africans and sits at the glorifying-violence rung; the other, eight words of approval posted over it, names no act and is coded hateful at low confidence. Laura Loomer’s post of September 20, which says Muslim people want law enforcement abolished so that they can mass murder Americans, is coded hateful inside the Muslim-official disloyalty script. The visegrad24 account ran a series of at least fifteen posts of sitting MEPs filmed in front of a new mosque in Strasbourg; five are coded at the lowest rung, because the wording is the carrier’s paraphrase: three in the Islamization-takeover script and one in the replacement-and-remigration script, all four at low confidence, and one that stands alone at medium confidence. The largest script by volume is Jewish-collective control at forty-eight items, twenty-eight of them board threads and fourteen of them dated September 20, the day Yom Kippur began at sunset, led on named accounts by Calvin Robinson’s post at 491,000 impressions and eleven posts from Sneako. Tommy Robinson’s account carries 27,777,688 impressions across 39 items, half of the scripts’ total. Seven board-only scripts carry no view counts at all, so each is scored on its four measurable factors, marked reach unmeasured, and ranked in its own list; all seven sit in the bottom tier, from 1.9 down to 1.6, and they hold 49 of the 450 items. By arena, 216 items are directed at the United States, 74 at Britain, 62 across borders, 27 at Italy, 22 at Spain, 19 at Sweden, 7 at Greece, 6 each at Germany and the Netherlands, 4 each at Canada and France, and 1 each at Luxembourg, Ireland and Belgium, which accounts for all 450.

Limitations this week

Our collectors made their last successful read at 06:33 UTC on September 15 and their next at 22:55 UTC on September 19, and every count on this page is read through that gap. X was read back from September 19: all 152 roster timelines were requested and 137 returned posts inside the window. A timeline read returns an account’s most recent 200 posts, so an account that posts more than that loses the early part of its week for good: RadioGenoa’s record opens at 17:19 UTC on September 14 and Jack Posobiec’s at 19:44 UTC on September 16. Replies and reposts sit outside the X collection this week as in every week. Bluesky was read back at 100 posts per account and read again on September 20, 5,270 posts in all. The last collection read ran at about 19:00 UTC on September 20, so that day is partial and reaction to the German state results after that hour is absent. The boards keep no archive we can return to, so our 4chan record holds no /pol/ thread created between about 06:29 UTC on September 15 and 09:11 UTC on September 19, a gap of about four days; the 146 confirmed board items are a lower bound on the qualifying threads the two boards carried. Last week’s board slice held 160; the outage removed about four of seven /pol/ days, and our records cannot say how much of the difference is collection and how much is discourse. News for September 16 to 18 is a partial feed backfill, titles without full text, and the trigger scan filled those days by web search. Every week-on-week comparison on this page carries this caveat, and none of them supports a reading that a narrative grew or faded.

450confirmed items, from roster, boards, and off-roster finds; a lower bound on the qualifying posts the monitored surfaces carried, after a four-day collection outage
36narrative scripts active this week
2sitting legislators carry scripts in their own voices: Rupert Lowe and Geert Wilders
8of 28 trigger events anchor a carded script; seven more drew items inside scripts anchored elsewhere

Scripts by severity

Click a bar for the full scorecards.

The week's weather, day by day

One dot per real event. Filled dots drew a reaction we confirmed; hollow ones drew none we recorded. Click for the full board.

The 450 items, by harm level

Click for the full ledger.

On the radar

Click a date for the full calendar and the patterns building toward it.

01 · The scripts

How the thirty-six scripts score

Five factors are scored from 1 to 5: reach, toxicity, coordination, mainstreaming risk, and harm potential. Each item that joins a script is assigned to exactly one, with overlaps adjudicated on the dominant predicate; the 30 items that match no script stand alone and appear on the ledger as individual hits. A script’s canonical claim is its shared core predicate; escalation clauses, a removal remedy or a ban from office, are stated with the count of posts that carry them, and each script’s prose does that. Their composite Ember Priority Score is shown on a chart running from 0 to 5; the axis starts at 0 for display, and the score itself cannot fall below 1. Click one for its scorecard. Peak severity this week is 3.5, the vigilante-celebration script, and no script reached the top tier; the median of the 29 ranked scripts sits at 2.9. Of those 29, nine stand in the second tier, nineteen in the third and one at the bottom; the seven scripts whose reach is unmeasured rank in a list of their own and all seven sit at the bottom. The migrant invasion frame scores 3.4 and is the largest script by reach: its reach factor of 5 rests on two Tommy Robinson posts that carry 18,813,444 of the script’s 20,202,638 impressions, and its mainstreaming factor of 5 on a sitting MP, Rupert Lowe, writing of the third world invasion of our country in his own voice. Our methodology gives a second-tier floor to any script whose harm potential reaches 5, and that anchor takes a concrete target with a place or a time and mobilization, or violence already carried out. One script meets it: vigilante celebration, whose posts praise beatings that patrols had already carried out in Rozzano on September 16 and 17, with a march following. Its computed score of 3.5 already sits in the second tier, so the floor changed nothing this week. Neither call for violence on the ledger meets the anchor, because neither names a place or a time. A /pol/ thread of September 20 calls for a purge of political opponents; its author hedges that the feeling will pass, the thread drew three replies, and it holds at medium confidence. It sits in the script that casts the political left as less than human, whose harm potential is 3 and whose score of 2.8 places it in the third tier. The ledger’s other call for violence is a single board thread that argues for the violent removal of most brown people; it matches no script, stands alone, and holds at medium confidence. Tiers rank scripts only, so that thread carries no score, no tier and no floor, and the chart below does not show it. Five of the seven glorifying-violence rows sit in the vigilante-celebration script, which holds ten items in all: four of its eight RadioGenoa posts, all four on the Rozzano patrols, and Tommy Robinson’s post on Ceuta; they praise or approve beatings by civilians and give no instruction. The account’s Lecco post, a conditional forecast, is coded hateful. Toxicity anchors at 4 for sustained othering and at 5 for explicit dehumanizing metaphor or endorsed harm across the script. Six scripts sit at 5: Islam-eliminationist, vigilante celebration, migrant barbarian dehumanization, anti-Indian and Hindu dehumanization, migrant contamination, and Jewish essential degradation. The invasion frame sits at 4. Two scripts carry a coordination factor of 2, the doctors-and-engineers sarcasm and the white racial hierarchy, and every other script sits at 1. Every script carries the verdict no coordination identified: we found no bridge account, no named hub and no directive on any of them, and we did not document independent origin either. Board scripts are scored on a /pol/ record with a gap of about four days, so their item counts are a lower bound on what the board carried.

02 · The ledger

The 450 confirmed items in date order

Click a row for the quote, the coding, and the source. Every named item carries all three. The three Bluesky rows are identification-bar redactions: their wording, source and exact dates are withheld, and their classification rests on our collection record and cannot be checked publicly. The ledger counts unique posts. Thirty-three posts were captured twice, by two X slices that read the same accounts, and each post in a pair was verified independently. Where two verifications of one post disagree, the disagreement resolves downward: no hit is the default, and the burden sits on the harm call. On two of the 33 posts one verification confirmed and the other rejected; a split of that kind resolves to no hit, and both posts are out of the ledger. On the other 31 both verifications confirmed, and each pair was collapsed to one id before anything was counted, taking 481 confirmed records to 450. The two verifications coded eight of the 31 pairs at different rungs, about a quarter, and the less severe rung stands on each of the eight. The 31 pairs are a convenience subset created by overlapping collection slices, so eight of 31 describes disagreement inside that subset and says nothing week-wide about the reliability of the coding. A blinded adjudication of a random sample of the ledger is the measure we lack. A collapsed pair counts once in every count, factor and reach figure. The rungs run stigmatizing 221, biased 125, hateful 95, glorifying violence 7 and calling for violence 2. The dates thin out in the middle of the week on the board rows: the board record holds no /pol/ thread created between about 06:29 UTC on September 15 and 09:11 UTC on September 19.

03 · The week's weather

Eight of 28 real events anchor a carded script

The events we recorded no reaction to matter as much as the ones we did. Together they show which stories these narratives picked up this week and which drew no reaction our footprint recorded. The board marks an event as drawing a reaction when a script names it as its trigger: the Swedish count, the police operation that moved people from Ceuta’s beaches to a port camp, the Piddington vote, the Holborn and St Pancras by-election, the Rozzano patrols, the Vice President’s remark on Abdul El-Sayed, the Clancy holdout juror and the San Diego daycare charges. Seven more events drew confirmed items inside scripts anchored elsewhere: the Ceuta shirts at Real Madrid, the protest in The Hague, Herbert Kickl’s remigration line in Strasbourg, the Kraft venue dispute, the drone intercepted south of Mecca on September 15, the state votes in Berlin and Mecklenburg-Vorpommern on September 20, and the Tillamook halal boycott, whose largest post reached 927,249 impressions. The European Parliament’s Ceuta resolution drew no post that cites it. Berlin and Mecklenburg-Vorpommern voted on September 20: exit polls put the AfD first in Mecklenburg-Vorpommern on about 37 percent, one point ahead of the SPD, and Die Linke first in Berlin on about 24.5. In our monitored sample the result drew celebration and argument over the firewall from Naomi Seibt, Geert Wilders, Rupert Lowe and Tommy Robinson, which did not clear our harm bar, and two board threads on a Berlin candidate of Turkish descent; one of the two was confirmed, inside the replacement-and-remigration script, and no post on the result joined the ethnic-vote script. Four reports of attacks on Jewish people, their homes and a synagogue in the week before Yom Kippur, from Milan, Wuppertal, north London and Waterloo, Ontario, drew no carriage we could code in our incomplete monitored sample. A quiet reading this week means no confirmed item inside a collection that lost about four days on the boards, from the morning of September 15 to the morning of September 19, and reached the news for September 16 to 18 through a partial feed and web search.

04 · On the radar

What's coming

Building now

On the calendar

What changed since last week

27 persisted9 new this week20 not carded this week5 scored in a different tier

Every line below is read through a four-day collection outage: the boards hold no /pol/ thread for about four days of the week and most of the X record was read back on September 19, so a script’s absence, a smaller count or a lower tier this week may be a collection effect, and these records cannot say how much of it is. Twenty-seven scripts continue a ruled lineage. The Jewish-collective control script continues the longest chain in the record, opened in the last week of July, at forty-eight items this week, and it holds in the third tier. The migrant invasion frame continues the Spain-conquest chain and is this week’s largest script by reach; the replacement-and-remigration script continues the Channel-invasion chain and holds the second tier. The Islam-eliminationist and Muslim-official disloyalty chains both continue in the second tier, the second of them on one account’s label for Abdul El-Sayed, and the Islamization-takeover chain continues in the third. The vigilante-celebration script continues the chain opened on the Ceuta violence, now on the Rozzano patrols. The women’s collective-guilt script continues the chain opened when the Clancy trial began, at three items. Five scripts were scored in a different tier this week, two in a higher tier and three in a lower one. The migrant sexual-menace script was scored in the second tier (P2) this week against the third (P3) last week, with the Piddington vote and a sitting MP’s post on its ledger; and the anti-Indian and Hindu dehumanization script was scored in P3 this week against P4 last week, with named accounts in its chain for the first time. The Islamization-takeover script was scored in P3 this week against P2 last week; the migrant contamination script was scored in P3 this week against P2 last week; and the migrant criminality-class script was scored in P3 this week against P2 last week, because a sitting MP carried it in his own voice last week and no legislator’s post sits in it this week. The script that casts the political left as less than human holds in P3 with a board thread calling for a purge of political opponents on its ledger, and the vigilante-celebration script holds in P2 on its computed score, and the severity floor it qualifies for changed nothing. None of the five changes can be read as growth or decay this week. Nine scripts are new this week, none of them in the second tier: the Indian takeover of Texas; migrants as idlers kept by the taxpayer; the doctors-and-engineers sarcasm; degradation of women as a sex; a white racial hierarchy; Ukraine emptied for Jewish resettlement; Jewish collective guilt for Israel; vindication of the Nazi period; and expulsion of Jewish people, on the board alone. Twenty of last week’s scripts are not carded this week, among them the two scripts that rode the 9/11 anniversary and the three board-only scripts that carried the severity floor on explicit calls for violence. Ten of the twenty lived on the board alone last week. We do not read any of this as decay: a narrative can be absent because it lost its carriers, because it did not clear the bar this week, or because this week’s collection did not surface it, and these records cannot separate those. Each line compares one narrative with itself a week earlier. The join is a key ruled when the narrative was carded, and similarity between the two weeks’ text plays no part in it.

05 · Method

How this was built

The sample and the standard

The roster, and how much of it this week reached

The roster is the frame we track. What we collected inside it is smaller, and what returned a post is smaller again. Every number here is counted by script from the roster file, the handle lists and the collection database for the window of 2026-09-14 to 2026-09-20.

SourceHandles on the roster Handles collectedHandles that returned a postPosts collected
X461371376,972
Bluesky47295915,270
4chan boardsnot applicable221,286
News outletsnot applicable596322449

The roster holds 1,034 accounts across 23 categories, and 136 of them sit in more than one category, so the category column below counts more accounts than the roster holds. Handles collected counts the handles that stored a post during the window; a handle the walk read that returned nothing leaves no row, so a walk that reached an account and found silence looks the same in this table as one that never ran.

Roster category Accounts
Anti-Establishment, Socialist and Anti-War Media74
Great Replacement and White Nationalist Accounts73
Far-Right, Nationalist and Culture War Figures65
Pro-Israel and Zionist Accounts65
Alternative Media, Sovereign and Conspiracy Theorists63
Far-Left, Anti-Imperialist and Communist Commentators62
Pro-Immigration, Sanctuary and Migrant Rights Accounts58
Anti-Semitic and Syncretic Conspiracy Accounts56
Black Radical, Pan-Africanist and Marxist-Leninist Factions56
Islamophobic, Anti-Islam and Counter-Jihad Accounts56
Anti-Establishment Tech, Finance and Geopolitical Dissidents55
Anti-Illegal Immigration and Border Nationalist Accounts55
Anti-China and Dissident Accounts50
Pro-China and State-Affiliated Media Accounts49
Extreme Christian Nationalist and Dominionist Accounts47
Anti-Vaccine and Medical-Freedom Extremist Accounts46
Anarchist, Eco-Radical and Left-Libertarian Organizers45
Radical Islamist and Salafi-Jihadist Ideologue Accounts44
Pro-Feminist and Intersectionality Accounts43
The Manosphere and Red Pill Ecosystem41
Anti-Feminist, Traditionalist and Counter-Feminist Accounts39
Anti-Christian, Militant Atheist and Secularist Accounts38
Anti-Technology and Anti-AI Extremist Accounts26

The X walk below covers the 46 of 152 X handles we can match to a roster category by name. The other 106 are handles our records hold without a category, and they are collected and read the same way. 14 categories returned an X post this week.

Roster categoryX handles on the roster CollectedReturned a postPosts
Islamophobic, Anti-Islam and Counter-Jihad Accounts877761
Anti-Illegal Immigration and Border Nationalist Accounts121212727
Far-Right, Nationalist and Culture War Figures121010419
Great Replacement and White Nationalist Accounts766343
Alternative Media, Sovereign and Conspiracy Theorists211195
Anti-Establishment, Socialist and Anti-War Media555108
Far-Left, Anti-Imperialist and Communist Commentators54482
Pro-Israel and Zionist Accounts33365
Extreme Christian Nationalist and Dominionist Accounts22257
Pro-China and State-Affiliated Media Accounts44449
The Manosphere and Red Pill Ecosystem11131
Anti-Establishment Tech, Finance and Geopolitical Dissidents22226
Anti-Semitic and Syncretic Conspiracy Accounts2118
Pro-Immigration, Sanctuary and Migrant Rights Accounts5112
Anarchist, Eco-Radical and Left-Libertarian Organizers1000

This is a purposive, outcome-selected monitoring sample framed by a 1,034-account roster spanning 23 ideological categories. The roster is the frame we track, and the collection inside it is smaller: 152 X timelines, 52 Bluesky feeds and two 4chan boards, /pol/ and /g/. This week’s coverage limits are stated below. It is not a random slice of the internet. Roster and board collection is systematic within those limits; off-roster discovery is opportunistic and incomplete, so our off-roster finds show that off-roster carriage exists and cannot say how much of it there is. A hit is language that collectivizes, dehumanizes, or calls for exclusion of a protected group, or that runs dehumanizing or eliminationist framing against a political camp. Criticism of governments, institutions, and named individuals over their own conduct does not clear our harm bar, however sharp. This instrument states whether an item cleared that bar. It makes no legal finding in any jurisdiction, and the five countries on this ledger do not share one standard. Every hit rests on a dated source read in full at collection, and every named item on the ledger carries its quote, its coding and its source; the three Bluesky items are identification-bar redactions, described under limitations, whose classification rests on our collection record. Where the source was still live, a second, adversarial pass re-verified the quote against it; three X posts that the platform serves behind a sensitive-content gate, Tommy Robinson’s delivery riders post and RadioGenoa’s Lecco post among them, were checked against our collection record, and the items say so. Where the source had already gone offline, which covers the 4chan threads in this week’s set, the second pass re-read our collection record and the coding, and the item says so. That second pass rejected 54 filed items and, separately, 10 gap-pass candidates that were never filed; it lowered 57 harm rungs, the downward rule on split verifications included, and it raised one, Tommy Robinson’s three-word answer to a claim about Muslim adults in Britain, that millions must leave, from stigmatizing to hateful. The count reconciles this way: 345 X records were verified page by page across five X slices, 155 on the right-lane slice, 114 on the unassigned slice, 49 on the slice that closes the week, 24 on the slice of accounts read last and three on the left-lane and other slice; 35 were rejected and 310 confirmed, and 31 of the confirmed were twins captured by both of the first two slices, so the five slices contribute 279 unique X posts; add 145 board items, three Bluesky items, one opinion column from the news table, and 22 gap items, 21 on X and one board thread, none of which shares a URL with any slice, and the ledger is 450. The rejections were claims about a class defined by conduct, Geert Wilders on fare-dodging asylum seekers among them; the word Islamist used as a political label; institutions as targets, the RNLI and the European Parliament’s Ceuta resolution among them; criticism of a named billionaire and a named donor over their conduct in the Kraft dispute; captions whose target sits in a video we could not view; bare statements of dislike; and a board post defending the historical record of the Holocaust in the board’s own register. None of them are in this report. A separate depth check, run independently of the pipeline on the board slice for September 14 to 19, read 120 of the 720 opening posts the hunt had left unfiled, drawn at random by board and day; one cleared the bar, at the biased rung, and it is in the ledger as the board thread among the gap items. One in 120 scales to about six qualifying posts among the 720, the sampled one included, so about five further. One success gives a very wide interval: the 95 percent range on one in 120 runs from near zero to about 5 percent, which across the 720 is anything from none beyond the one we found to a few dozen. Research and drafting run through Claude under this methodology; every published classification passes the documented verification chain, and Jerm holds final editorial responsibility. Five items this week cleared the extremism branch of our gate, which covers dehumanizing or eliminationist framing of a political camp: Jack Posobiec’s Unhumans over a Democratic governor’s decision, his line that the left is shooting at us and loves violence, Tommy Robinson’s poisonous creatures for Stand Up To Racism activists in Holborn, a withheld Bluesky comment that applies a vermin label to far-right demonstrators, and the /pol/ thread calling for a purge of political opponents. One of the five sits on a violence rung: the purge thread, at calling for violence. Every other confirmed item names a protected class, or a group our methodology treats as one, including the other eight ledger rows on the two top harm rungs, glorifying violence and calls for violence. Items from other directions are coded under the same standard: five board threads that degrade white people, a board thread approving a broadcast depiction of a nuclear strike on Tel Aviv, a board post naming American recruits with a mixed-race slur, Sneako’s line that everyone outside his religion hates God, the posts by Anya Parampil and Cenk Uygur on the Kraft dispute, Yves Engler’s essay on Jewish charities, and the three Bluesky posts.

The roster and this week’s collection
Limitations

The collection outage. Our collectors made their last successful read at 06:33 UTC on September 15 and their next at 22:55 UTC on September 19, and everything on this page is read through that gap. X was read back from September 19: all 152 roster timelines were requested, 137 of them returned posts inside the window and 15 returned none. Of the 6,972 in-window X posts in our record, 6,084 were read on September 19; 431 had been read before the outage and 457 were read on September 20. A timeline read returns an account’s most recent 200 posts, so an account that posted more than 200 times before the read has a permanent hole at the start of its week: RadioGenoa’s record opens at 17:19 UTC on September 14 and Jack Posobiec’s at 19:44 UTC on September 16. RadioGenoa is the largest carrier on the ledger at 78 items, and whatever the account posted before that hour is absent from the scripts it leads, the invasion frame first among them. Replies and reposts are never collected, this week as in every week, so carriage that lives in reply threads is absent. Bluesky was read back at 100 posts per account and read again on September 20, and the record holds 5,270 in-window posts: 4,569 from 46 of the 52 feeds we follow, and 701 from 545 other accounts that arrived through reposts on those feeds and keyword search. The boards keep no archive we can return to: our 4chan record holds 908 /pol/ opening posts, none of them created between about 06:29 UTC on September 15 and 09:11 UTC on September 19, a gap of about four days, and 378 from /g/, 45 of them from September 16, 17 and 18. The 146 confirmed board items are therefore a lower bound on the qualifying threads the two boards carried, and the record says nothing about /pol/ inside that gap. That is the one sense in which a number on this page is a lower bound: the count of captured qualifying posts on the surfaces we monitor is a lower bound on what those surfaces carried. The sample is purposive and off-roster finds are opportunistic, so no count here bounds carriage beyond those surfaces. Last week’s board slice held 160 confirmed items; the outage removed about four of seven /pol/ days, and our records cannot say how much of the difference is collection and how much is discourse. The news table holds 449 in-window rows, 244 of them on the technology beat; the rows for September 16 to 18 are a partial feed backfill of titles without full text, and the table holds no general American beat, so the trigger scan reached most of the week’s events through web search. Wherever this page sets a number beside last week’s, the comparison carries this caveat and supports no reading that a narrative grew or faded.

Platform-reported impression counts are capture-time platform counters, and they can rise after we read them. Each figure is the counter as it stood when we read it. A counter tallies displays of a post, so it is neither a count of unique people reached nor a lower bound on a script’s audience. Most of the X record was read on September 19, so an early-week post had days to gather views before we read its counter, and a post of September 19 or 20 had hours. This week’s total leans on a single post more than last week’s did: Tommy Robinson’s delivery riders post at 12,462,781 carries more than a fifth of it, and X serves that post behind a sensitive-content gate, so its quote rests on our collection record. The 55,480,243 figure sums the 36 scripts; the 30 stand-alone items add 1,719,325.

Reach is not measurable everywhere. The 4chan corpus has no view counts and no persistent handles, so board items carry no reach figure and add nothing to a script’s total. Reach therefore ranks the named-carrier scripts only, and any cross-platform reach comparison on this page ranks X carriage only. The seven scripts this week that no named carrier touched are marked reach unmeasured, scored on their four measurable factors and ranked in their own list, so they sit outside the peak, the median and the ranked table. The 4chan threads in this week’s set were verified against our collection records at capture and had cycled off the live board before a second read, so confirmed for those items means that.

The X footprint beyond the outage needs stating plainly. A gap pass over about 1,450 posts the slices had left unread found 22 items, 21 on X and one on the board; its main recovery is David Vance’s chain on Labour’s candidate in the Holborn and St Pancras by-election, which no slice had carried, and the rest are further posts on constructions the slices had already confirmed, on Tommy Robinson, Laura Loomer, RadioGenoa and Steve Laws. Laurence Fox’s timeline was requested with the rest and returned no post dated after September 7, so it is one of the 15 timelines that held nothing inside the window. Our X records truncate at the 280-character preview, and every X quote on the ledger was verified at full length against the live page, with the three gated posts as the exception. The week’s last collection read ran at about 19:00 UTC on September 20, so September 20 is a partial day and the record holds nothing posted after that hour. The Berlin and Mecklenburg-Vorpommern state votes fell on that day, with exit polls published that evening, so reaction to the results after about 19:00 UTC is absent from this page. The confrontation between Restore Britain leafleters and Stand Up To Racism activists in Holborn fell on September 19, and carriage of both events reads thin for a short-window reason. One aggregator account supplied 150 of the 457 X posts read on September 20, reaching back to September 16, and the other accounts read back after the outage stay thin for September 16 to 19.

Coordination is two readings that answer different questions. The coordination factor in the score measures degree of organization on the 1 to 5 anchors, and it rises off the floor on convergence signals: near-duplicate phrasing, same-day timing, a shared novel claim, coined term or fabricated detail. The coordination verdict, overt, covert, organic parallel or no coordination identified, requires a confirmed bridge account, a named hub or an arrangement, and convergence alone never reaches it (METHODOLOGY section 9). This week every script carries no coordination identified, which is to say we found no bridge, no hub and no directive, and we did not document independent origin either, which is what an organic parallel verdict would take. Nine cross-carrier convergence signals are on the record, one in each of nine scripts’ coordination notes. Two of them name linkage beyond shared timing and lift a coordination factor to 2: the doctors-and-engineers sarcasm on four carriers inside 48 hours, with David Vance applying it over a RadioGenoa clip, one documented carrier-to-carrier amplification; and the clean, safe, homogeneous triplet on Naomi Seibt and Eva Vlaardingerbroek in near-matching words a day apart. The other seven rest on timing alone and leave the factor at 1: the invader label on the men due at Bicester from two carriers a day apart; school rolls by ethnicity as proof of replacement on Rupert Lowe, Naomi Seibt and RadioGenoa inside three days, on separate schools in three countries with no shared source; five carriers on Piddington within two days of the vote, each in their own words; two carriers on one congressional candidate’s descent on the same day; the caliphate label for Malmo on RadioGenoa and on David Vance a day later; seven carriers inside 48 hours of the Swedish count, which is the event’s own clock; and one board thread relaying an in-window X post on the Texas script and another urging readers to copy a named campaign. The three posts that reached the Kraft dispute from two political lanes share no wording, and cross-lane convergence without a bridge raised nothing. None of the nine reached a verdict; each becomes a coordination check if a linking account appears. RadioGenoa’s 78 items are one account repeating its own caption templates, which is volume from a single carrier and carries no coordination weight. On an anonymous board, one actor and an organized handful cannot be told apart, and no board script this week showed the copypasta pattern that earns a covert verdict.

The Bluesky lane produced three coded items from 5,270 screened posts, against two last week from 4,916. Most of this week’s corpus is a read-back at 100 posts per account, so the two figures come from collections of different shapes. One item sits in the Jewish essential-degradation script: posted above a news headline, it equates Jewish people of European descent with Nazis, coded hateful at medium confidence. It is a post with no engagement from a small account. The other two stand alone, both at low confidence: a post that equates Jewish people, Holocaust survivors among them, with Nazis, coded stigmatizing, and a one-line comment over a news link that applies a vermin label to far-right demonstrators, coded at the lowest rung under the extremism branch. All three fall under the identification bar: each is described without its handle or its distinctive wording, because a verbatim quote identifies an account as surely as its handle, so their classification rests on our collection record and cannot be checked publicly. Three items from 5,270 posts admit several readings: lower prevalence of this carriage on the platform, a mismatch between our lexicon and the platform’s vocabulary, the accounts we collect, or a recall failure in the screen. Three items cannot separate those readings, and we have run no recall study on the platform. What the collection does show is that the platform’s traffic on the Kraft dispute ran to argument and counter-speech, that the Swedish result appeared there as relief, and that personal accounts there met the AfD result of September 20 with alarm.

No hit-rate or prevalence claim here may be read as a comparison across ideological lanes. That comparison requires a lane-tier sample for every lane compared, over a common platform footprint. We did not draw that sample this week.

The severity score

Five factors, each scored 1 to 5: reach (R), toxicity (T), coordination (C), mainstreaming risk (M), and harm potential (H). They combine as (R·T·C·M1.3·H1.5)1/5.8: multiply all five, with mainstreaming risk raised to the 1.3 power and harm potential to the 1.5 power because those two carry the most real-world weight, then take the 5.8th root. The 5.8 is the sum of the weights (1 + 1 + 1 + 1.3 + 1.5), which brings the result back onto the 1-to-5 scale. Multiplication limits how far any one factor can lift a score, without eliminating its influence. One override runs the other way: any script at H=5 takes a P2 floor regardless of its computed score. Our methodology defines H=5 as a concrete target with a place or a time and mobilization, or violence already carried out, so that a small account naming a target, a place and a time cannot score its way into the bottom tier. Tiers rank scripts only. Stand-alone items, 30 this week, sit outside the ranking and carry no score, no tier and no floor. The ledger holds two explicit calls for violence this week, both board threads at the calling-for-violence rung. One stands alone: a single thread arguing that most brown people should be removed by force. It matches no script, and it names no place or time. The other is a /pol/ thread of September 20 that calls for a purge of political opponents; its author hedges that the feeling will pass, it was coded at medium confidence, and it drew three replies. It names no place or time either, so the script it sits in, the one that casts the political left as less than human, scores harm potential at 3 and 2.8 overall, in P3. Neither call meets the H=5 anchor. The one script that does is vigilante celebration, whose posts praise beatings already carried out in Rozzano; its computed score of 3.5 sits in P2 on its own, so the floor changed nothing this week. A week with no script in the top tier still holds two explicit calls for violence on its ledger. P1 starts at 4.0, P2 at 3.0, P3 at 2.0. Scores are published to one decimal place. A score that lands within 0.15 of a tier edge is marked at the boundary, and the mark names the single factor that would carry it across and the score it would take there. Reach is the one factor a board-only script cannot supply: an anonymous board publishes no impression count, so a script carried only by board threads is scored on its four measurable factors, marked reach unmeasured, and ranked in a list of its own, away from the scripts whose reach was read. Coordination as a factor scores degree of organization: it leaves the floor when a script shows linkage beyond shared timing, near-duplicate phrasing across accounts or a documented amplification link, and climbs to the co-platforming and network anchors on a named hub or a confirmed bridge. The coordination verdict is a separate reading and requires the bridge, the hub or an arrangement, so a script can score 2 on the factor and still carry no coordination identified as its verdict.

Support the fundraiser →
Hobocode Digital Civility Research · The Weather Report, issue 2026-W38 · Window: September 14 to 20, 2026, last read at about 19:00 UTC on September 20 · Words by Jerm in collaboration with Claude · Data behind every module on this page is on the narrative dashboard, with one exception: the three withheld Bluesky items, whose classification rests on our collection record and cannot be checked publicly

Reliability

Full-schema agreement: 78% as of 2026-07-27

Audit results and the corrections register

Digital Civility Research: when speech moves toward harm. Formerly the Counter-Hate Monitor, the name this research was published under through mid-August 2026.