France just completed its fourth consecutive weekend of mass protests against rising living costs, with the Interior Ministry counting 146,000 participants nationally — 46,000 in Paris alone — while unions claim 250,000 nationwide and 75,000 in the capital. The gap between official and union figures is standard, but even the lower number represents a sustained mobilisation that shows no sign of exhaustion. The state deployed 70,000 security personnel across the country, and Interior Minister Laurent Nunez warned that authorities were "ready and waiting" for rioters and looters. In practice, that readiness meant tear gas and baton charges in Paris and Lyon, with footage showing police charging protesters and an officer striking a demonstrator. Police say a group of 200 attacked officers attempting to arrest a man who had set fire to a rubbish bin. The framing contest — legitimate protest versus public disorder — is now a fixed feature of these weekends. What began in September as a student movement over poor conditions and inadequate resources at French high schools has expanded into a multi-generational mobilisation against worsening living standards. Railway workers, public-sector employees, and private-sector workers have joined what remains nominally student-led. Trade unions, weakened over recent years, see the movement as a chance to rebuild leverage. As one railway worker told Al Jazeera: it is important both to protest the cost of living and to support young people. The political timing is not coincidental. France's presidential election is due in April, and polls place far-right candidate Marine Le Pen of National Rally first, followed by far-left candidate Jean-Luc Mélenchon of France Unbowed. Mélenchon unveiled his economic programme on Saturday to 17,000 supporters, pledging to stimulate the economy through consumer spending and redirect existing savings toward "ecological and social needs" — a direct counterpoint to Macron's agenda. The protest movement is feeding energy to both populist flanks. Just days before Saturday's protests, an estimated 575,000 people participated in a union-organised rally — a significantly larger turnout. Saturday's lower numbers may reflect the difference between a union-called action and a weekend demonstration, but the persistence matters more than any single count. Four weekends running with six-figure turnout builds institutional pressure that individual marches do not. The core extraction mechanism is straightforward: real wages are falling while living costs rise, and the current government has not offered relief that matches the scale of the grievance. The state's response has been security deployment rather than policy concession. This is a classic squeeze — households absorb rising costs, the government absorbs political risk, and the electoral calendar determines when something gives. The 20-year question is whether France's protest-to-policy transmission mechanism still works. If sustained mobilisation produces no meaningful policy shift and instead channels anger exclusively into electoral populism — Le Pen or Mélenchon — France follows a path where street politics and institutional politics diverge permanently. The unions know this: their urgency about "momentum" reflects awareness that this window could close without delivering structural gains.