The only reason Howie Roseman hasn’t shot himself in the foot this offseason is that he ran out of bullets.

He’s got no salary cap room. Revenues lost from the 2020 pandemic dropped the cap from $198.2 million to $182.5 million, an 8% decrease, in a year it was expected to top $200 million. Roseman cannot spend. And, so, he is saved from himself.

To be fair, the Eagles’ general manager has, in the past, shown occasional mastery in the NFL’s winter sports of free agency, trades, and in-house contract manipulation. Roseman has been especially adept in working at the fringes: Chris Long, LeGarrette Blount, Nick Foles.

However, his busts are much more common than his booms: the early disappointments of Darius Slay and Javon Hargrave; the recent disasters of DeSean Jackson and Malik Jackson; and, of course, the centerpiece of the ill-conceived “Dream Team” nightmare of 2011, Nnamdi Asomugha. Even that team went 8-8 -- but, by the end of 2012, that group of Eagles was a four-win team, just like the 2020 edition.

“We had a terrible year. We won four games. I’m certainly part of that. I’ve got to wear that,” said Roseman -- and then he cried poor: “We’re not in the same position we’ve been in in years past.”

Asomugha and the Dream Team are vestiges of years long past, Roseman’s biggest mistakes in his first chapter as chief decision-maker. That was before owner Jeffrey Lurie imposed a one-year exile that removed Roseman from player personnel decisions. When Roseman returned, he returned with a vengeance.

2016

Roseman reascended and began the 2016 offseason with a mystifying move. He gave Vinny Curry more than $43 million in February to keep him off the market, even though Curry, a second-round defensive end, hadn’t started a single game in four seasons with the Eagles. Curry collected just 16 1/2 sacks, and only 7 1/2 combined in 2012, 2013, and 2015.

The next month, Roseman gave Chase Daniel $21 million over three years to be the backup quarterback.

Besides those two moves, that offseason actually went well as far as accumulating veterans. Roseman signed safeties Malcolm Jenkins and Rodney McLeod, guard Brandon Brooks, linebacker Nigel Bradham, and extended the contracts of right tackle Lane Johnson and tight end Zach Ertz — but then, most of these moves were market-value, boilerplate, and relatively inevitable. It’s hard to justify allotting $64 million to two veterans who had two starts over a combined 10 seasons.

The Eagles cut Daniel after one season and cut Curry after two. They took home $30 million. They produced one completed pass and 5 1/2 sacks.

» READ MORE: Carson Wentz is officially a Colt; Eagles finally talk about the trade, keep QB draft option open

2017

Some of Roseman’s finest hours came in 2017, when he signed economically sound deals with receiver Torrey Smith, defensive end Long, cornerback Patrick Robinson, running back Blount, and, of course, backup quarterback Foles. Roseman made sound trades for defensive tackle Tim Jernigan, cornerback Ronald Darby, and running back Jay Ajayi.

Roseman’s centerpiece move: signing receiver Alshon Jeffery to a one-year, $9.5 million “show-me” contract.

By Dec. 2, Jeffery, then 27, had shown Roseman enough to earn a four-year, $52 million contract extension. The deal raised a few eyebrows at the time, but it seemed justified a couple of months later, after Jeffery’s terrific postseason, and the news that he’d played the season with a shoulder injury. The move haunts them to this day.

» READ MORE: Eagles sign Alshon Jeffery to 4-year, $52 million contract extension

Jeffery has averaged 10 games and 38 catches since. Roseman reworked his deal in January to spread the salary cap hit of $10.5 million over 2021 and 2022, and cut him Wednesday.

In November of 2017, Roseman also gave Jernigan a $10 million bonus, part of a $48 million extension over the following four seasons. Jernigan collected around $14 million, since an offseason injury led to him forfeiting more than $10 million in guaranteed money. That $14 million bought just two sacks in 13 games in 2018 and 2019, and then he was gone.

2018

After the Super Bowl LII win, Roseman traded for defensive end Michael Bennett and extended Bradham’s deal but was largely quiet.

Roseman traded Smith, which was good, but spent $3 million on receiver Mike Wallace, who was 32, and who broke his leg in Game 2. He used $2.9 million on washed-up defensive tackle Haloti Ngata. Neither played another game after 2018.

» READ MORE: A Deshaun Watson trade would be catastrophic for the Eagles | Marcus Hayes

2019

After winning it all in 2017 and being stung by a nine-win season in 2018, the Eagles’ 2019 offseason promised big things. Big, bad things, as it turned out. Jacksonian bad.

Defensive tackle Malik Jackson signed a three-year, $30 million deal. He got hurt in 2019, stunk in 2020, and collected more than $20 million for his 2 1/2-sack output. He was released Wednesday.

And, of course, old and fragile receiver DeSean Jackson, who made more than $17 million to essentially rehab for two seasons. Jackson had a worrisome injury when Roseman signed him at the dangerous age of 32. This move was particularly disastrous, since Jackson’s presence and salary kept the Eagles out of trade talks for Pro Bowl receivers DeAndre Hopkins and Stefon Diggs. Jackson’s 26 catches in his two seasons came in eight games — or, a little more than $2 million per game.

Per game.

Roseman cut Jackson last month.

2020

Roseman traded a third-round pick and a fifth-round pick for Lions cornerback Darius Slay, who was coming off a down year in Detroit at 29. He then gave Slay a three-year, $50.5 million contract that had to be reworked to get the Birds under the 2021 cap. Slay ranked 42nd among cornerbacks last season, according to profootballfocus.com, and routinely struggled against the elite receivers he was paid to contain.

Slay still had a better year than Roseman’s other 2020 mistake. Hargrave, signed for three years and $39 million, ranked 74th among defensive tackles. His 4 1/2 sacks overstate his performance level and do not justify the $13.25 million he took home. He’ll collect another $12.75 million this season — but no matter how well he plays, it’s going to be tough to justify $26 million for two years of Hargrave.

Carson Wentz

Roseman signed Wentz to a four-year, $128 million extension in June of 2019, and Roseman proved to have outfoxed the market again. Wentz looked like a bargain when the Rams’ Jared Goff, the Texans’ Deshaun Watson, the Chiefs’ Patrick Mahomes, and now the Cowboys’ Dak Prescott signed their deals. Then Wentz regressed historically in 2020 and demanded a trade, which was granted, leaving the Eagles with a nearly $34 million cap hit for nothing.

No one could have predicted Wentz’s regression, nor his mental fragility — he resented being benched, and he resented the presence of second-round rookie Jalen Hurts — so Roseman gets a pass for what might be the biggest outlay for the least return in the history of professional sports.

At least, he gets a pass here.