Skip to content

The ceiling is the whole room

Janz and Knack were the illustration, not the whole exhibit. It is fair to ask whether the two men were cherry-picked: the loudest dissenter set against the one who wrote the escalator, the extremes plucked out to make a point the middle would soften. So this page widens the lens to the entire body: the full thirteen-seat 2021–2025 council, every self-styled progressive and every conservative in it, read against the votes that actually carried the carceral state. The split between the two men survives the widening. What the widening adds is that the ceiling they sit under is not a quirk of two personalities. It is the shape of the whole room. The record here comes straight from the city's own roll-call data, dataset ekzq-b4qg, computed motion by motion rather than eyeballed; the machine file that carries every cell is ../../data/council-scorecard.csv, and the branding for each seat is filed under sources/council/.

The scorecard

Here is the whole council, ordered from the most consistent restraint vote to the most reliable vote for order. The last column is the dissent index, defined immediately below the table; read it as the count of times, out of nine carceral and order motions, that a member voted the restraining way.

Member Ward Terms Multi-term Brand Dissent /9
Michael Janz papastew 2021– no self-styled progressive 9
Ashley Salvador Métis 2021– no self-styled progressive 5
Erin Rutherford Anirniq 2021– no self-styled progressive 5
Amarjeet Sohi (Mayor) city-wide 2007–15 cllr; 2021–25 mayor yes self-styled progressive 4
Jo-Anne Wright Sspomitapi 2021– no centrist 3
Anne Stevenson O-day'min 2021– no self-styled progressive 2
Jennifer Rice Ipiihkoohkanipiaohtsi 2021–25 no centrist 1
Keren Tang Karhiio 2021– no self-styled progressive 1
Andrew Knack Nakota Isga 2013–25 → Mayor 2025 yes "independent" mgr 0
Tim Cartmell pihêsiwin 2017–25 yes fiscal conservative 0
Sarah Hamilton sipiwiyiniwak 2017–25 yes centre-right 0
Aaron Paquette Dene 2017– yes self-styled progressive 0
Karen Principe tastawiyiniwak 2021– no fiscal conservative 0

The dissent index is a defined metric, not a general score of how left a person is, and it is worth being precise about what it counts so nobody can accuse the number of doing work in the dark. It is the number of nine named carceral and order motions on which a member voted the restraint way: for Janz's motion to cut the 2022 police levy, against raising the EPS floor to $407M, against the transit-enforcement bylaw 19983, against the Healthy Streets EPS top-up, against the funding formula C604A and against its revision C604B, and against each of the three shelter-restriction clauses (bylaws 20657, 20842, 21193). The 2023 operating budget is deliberately left out of the nine, because it is a whole-city tax package rather than an order line. And, as the two-faces page shows, it is the one vote where the pattern inverts and Janz signs. Nine motions, one direction: higher means more consistently against the escalator.

Every restraint vote lost

Read the index as a ladder and the first thing you see is that the top rung is a single person. Janz sits alone at 9 of 9, more than double the next-nearest member. But the more important number is not at the top of the ladder. It is on the floor of the chamber, in the tallies. Every restraint vote in the whole matrix lost. The revised funding formula, C604B, carried 9–4. The four No votes were the largest restraint coalition the entire term produced on a police motion: Janz, Salvador, Stevenson, Rutherford. They were still beaten better than two to one. The $407M floor, the vote that set the actual dollars, carried 12–1, with Janz the lone No. There is no motion on this page where the restraining side assembled a majority. The dissent was real, it was recorded, and it never once changed an outcome. That is the finding the whole scorecard exists to make plain: objection here is not power, it is testimony.

The floor and the formula

Look closer at how the dissent distributed and a sharper tell surfaces. There is a difference between opposing the formula and opposing the floor. The formula is the mechanism, the policy that puts the budget on rails. The floor is the actual pile of money handed to the police. Several progressives were willing to do the first. Salvador voted No on both C604A and C604B; Stevenson and Rutherford joined the No on C604B. On the policy that set the escalator's logic, a bloc formed. But on the $407M floor, the concrete cheque and the largest single line the city carries, the bloc evaporated. Salvador, Stevenson, Rutherford, Tang, Paquette and Sohi all voted Yes for the floor and saved their dissent for the mechanism that would carry it forward. Only Janz voted no on the money itself. You can oppose the autopilot and still fund the biggest cheque in the city, and most of the progressive bloc did exactly that. The ceiling is not that progressives never dissent. It is that their dissent lives at the level of policy mechanics while the dollars sail through on their own votes, and then loses anyway.

Seniority tracked the order line

The third finding is written into the multi-term column, and it is the least comfortable one. Four of the five members with a dissent index of zero are the council's long-serving carry-overs: Knack (elected 2013), Cartmell, Hamilton and Paquette (all elected 2017). The freshman conservative Karen Principe rounds out the floor. The pattern is blunt: the longer someone had sat on this council, the more reliably they voted the order line. Seniority did not radicalize anyone here; it domesticated them. Knack is the case study: the freshman who in 2014 voted police budget increases and new helicopters down and moved a million dollars into non-police crisis response (first-term votes) is the same man who, a decade of committee rooms later, wrote the escalator himself and scored a perfect zero on the restraint index. The veterans who had the most institutional weight to throw against the escalator were precisely the ones who threw none. The soft dissent cluster, the four or five members orbiting Janz, was almost entirely first-term. Whatever the chamber teaches its members over a decade, it is not restraint.

The costume, quantified

The last finding puts a number on the thing the whole project is naming: the progressive costume. Take Knack, the man who moved C604B, now the mayor, and ask how often he actually voted with Janz across every contested motion of the term, every non-unanimous vote where at least one member split from the rest. The answer is 68 percent. More than two votes in three. On the raw agreement axis he lands comfortably mid-pack, a hair's breadth from the self-styled progressives, and that is exactly the point. Salvador tops the axis at 81 percent; Rice bottoms it near 32; Knack sits in the warm middle, agreeing with the council's most-left member on the overwhelming majority of the zoning lines and grant items and procedural business that fill a council's days. The split only opens on the votes that carry the smell of the carceral state. There Knack is 0 of 9 against Janz's 9 of 9. A 68-percent "agreement" with the man he outvoted on every single police motion is not a contradiction. It is the costume itself, measured. The manager and the leftist vote alike on everything that does not matter, and part ways on everything that does.

Aaron Paquette, stated plainly

The scorecard holds one exhibit sharper than any of the others, and honesty requires naming it without flinching and without cruelty. Aaron Paquette is a three-term councillor, a Cree and Métis artist and author, a man who ran for Parliament as a New Democrat in 2015. As genuinely progressive a biography as this council carries, and the real thing on Indigenous rights and reconciliation. His dissent index is 0 of 9. On every order motion in the set he voted with the order or was absent for it: the police floor, the formula, the top-up, the transit bylaw, the shelter clauses. This is not a slur and it is not offered as one; it is the record, read the same way every other member's is read. It is stated here precisely because it is the hardest case for anyone who wants to believe the ballot box holds the answer. If the most progressive identity on the roster, three terms in, votes the carceral line clean through, then the problem is not a shortage of good people in the room. It is the room.

The honest contrast: Salvador

Set beside Paquette, Ashley Salvador is the fair counterweight, and she earns being named for it. Hers is the cleanest anti-escalator record on the formula itself: No on C604A and No on C604B, a consistent stand against the autopilot that not even the rest of the four-vote bloc managed across both votes. If you wanted to point to one member who genuinely refused the mechanism twice over, it is her. And that is exactly why her floor vote matters and gets said out loud: on the $407M floor, the actual money, Salvador voted Yes. The honest picture is a councillor who opposed the formula more consistently than almost anyone and still handed the police the largest cheque in the city when the dollars came up bare. That is not hypocrisy; it is the ceiling, doing what a ceiling does. The best formula-dissenter on the council still funded the floor.

What October 2025 did, and did not do

The term ended and the city voted again, in its first party-based civic election, and the result refuses both the neat version and the panicked one. The self-styled progressive bloc was not wiped out. Every one of them held their seat. Janz, Salvador, Tang, Rutherford and Stevenson each won a second term, Paquette a third. Independents kept a supermajority of the chamber, nine of twelve ward seats, and the incoming council is fairly called progressive-leaning. Only one 2021 incumbent was turned out, Jennifer Rice, and she was beaten not by a leftist but by an independent transit worker. If you were promised a red-to-blue rout, the results do not deliver one. What died is not the bloc. It is the ceiling, and the ceiling moved up into the mayor's office. Amarjeet Sohi is gone from the chair, and the manager who authored the police funding formula sits in it: Andrew Knack, elected mayor on the same warm, post-ideological creed he governed by, out-polling the fiscal-conservative Cartmell for the top job. The leftmost realistic pole of the whole mayoral field was Knack's managerial centre-left. And in the ward the escalator's other backer vacated, the carceral labour that spent the term filing complaints against Janz won a seat outright: Michael Elliott, the former Edmonton Police Association president, took pihêsiwin under Cartmell's banner. The bloc survives in the wards. The order took the head of the table and gained a chair. That is the death this project names. Not the defeat of the progressives, but the confirmation that even at full strength, re-elected and intact, they sit under a ceiling they cannot lift.

Honest complication

This was not a monolith. The neat version, thirteen progressives who all funded the cops, is false, and the project does not need it. A real dissent cluster of four or five members existed, orbiting Janz: Salvador, Rutherford and Stevenson spent votes against the formula, Sohi and Wright landed mid-index, and Salvador in particular has a clean anti-escalator record on the mechanism. The argument is not that every progressive is a fraud. It is that this dissent never assembled a majority, and every restraint vote in the matrix lost anyway.

This was not a 2025 wipeout. The progressives were re-elected; the independents kept their supermajority; the new council leans progressive on paper. Never read this as a red-to-blue rout at the ward level. It is not one. What died is the ceiling, not the bloc: the top office and the agenda went to the escalator's author, the mayoral field's leftmost realistic pole was a managerial centre-left, and not one of these thirteen, the "progressive island's" entire elected left, organizes on socialist principles or has moved the material floor under the city's poor.

Method

The scorecard was computed directly from the on-disk Socrata JSON for the 2021–2025 term (ekzq-b4qg), with multi-term status cross-checked against the 2017–2021 record (huhs-auh6). Each of the nine index motions was located by meeting date, agenda number, and a distinctive keyword in the motion text, then every one of the thirteen member columns was read and normalized; none of the key rows contained a genuinely mixed cell. Absences are counted as non-dissent. That is the conservative choice, which changes no ranking. The dissent index spans nine motions and excludes the 2023 operating budget by design. The full per-motion matrix, the tallies, and the Janz-agreement rates live in the working note behind this page and in ../../data/council-scorecard.csv; the branding assessments trace to the council source clippings. The two men remain the illustration. Read their split in full on two faces, one dead end. This page is only the proof that the illustration was not cherry-picked.