From time to time, the unions have registered their displeasure; a rally here, some political pressure there. But Nutter, publicly at least, was remarkably restrained, passing up chance after chance to turn his disagreements with the unions into a public debate.
All that changed Wednesday, when Nutter announced unilaterally (sort of) that 5,000 nonunion city workers would get the deal he's been trying to get union leaders to swallow for years.
The package includes a modest 2.5 percent wage increase and the resumption of regular seniority-based pay hikes, countered by furloughs and significantly higher worker contributions to pensions and health-care costs.
None of this applies to union workers. Not yet. But the mayor clearly wants this package to serve as the template for any future deal with unionized employees.
Union leaders were outraged. Cathy Scott, president of AFSCME District Council 47, which represents white-collar workers, likened Nutter to "a thief in the night."
And by the standards Philadelphia's municipal workers are accustomed to, Nutter's proposed package is a raw deal indeed.
But what's actually out of whack with the times? The mayor's proposal? Or the expectations of city workers?
If the benefits and wages the City of Philadelphia offers were really as insulting as union leaders imply, you'd expect the city would have had a hard time filling openings with qualified hires during the last few years of this wage freeze. But there's no evidence that's the case.
The last time Philadelphia accepted firefighter applicants, the city received 16,000 inquiries. About 6,000 people took the test and 2,200 cleared it. The demand for city jobs is almost as intense for white-collar positions. An opening for a handful of city planner positions yielded 119 qualified applicants. Another recent listing for entry-level management positions (which required a bachelor's degree) garnered 175 qualified applicants.
"The competition for the jobs is pretty extreme," said Michael McAnally, deputy director of human resources for the city. "And it's becoming more extreme. We're getting more candidates and better-qualified candidates than we ever have before."
Does anybody believe competition would dry up if union leaders agreed to higher pension contributions? In an economy this uncertain, a city job is a hot commodity.
Which makes it difficult to square the rhetoric of union leaders with Nutter's actual proposal. In exchange for the 2.5 percent raise, the mayor wants most city workers to increase their pension contributions from 1.93 percent of their pay to 3.2 percent. He wants nonunion workers to cover 8 percent of their health-care premiums instead of 2.5 percent. And new workers would be moved into a hybrid retirement plan; part-pension, part 401(k).
That's not a good package for workers, not by a long shot. But it's also a much better shake than many - in the public and private sectors - are getting in this economy.
Nutter needs City Council approval to make the pension changes, and he was beaten back in 2010 when he asked for similar changes. But this time feels different. Council - which is full of labor supporters - didn't leap to the unions' defense at the regular meeting Thursday; no members publicly addressed negotiations at all.
Union members are mostly right when they say it is wrong to blame them for the city's ongoing pension crisis. The principal villains are a long series of mayors and Councils that failed to sock away enough cash to pay for future retirements.
But that doesn't change the fact that the fund is badly depleted and needs refilling. Nor is it only union workers who are being asked to take a hit. Taxes have been raised for three straight years, and city services have been cut back sharply.
Like all cold wars, this one has had casualties on both sides. The question now is whether Nutter's gambit forces a resolution or only drives the parties farther apart.
Patrick Kerkstra is a freelance journalist and former Inquirer staff writer. He can be reached at Patrick@PatrickKerkstra.com or followed on Twitter @pkerkstra.