For the first time in their four offseasons together, 49ers general manager John Lynch and coach Kyle Shanahan focused on keeping the team together during the first week of free agency.

The 49ers’ plan was less about bringing in players who could fill important voids and more about keeping around those already on the team. They were largely successful -- with two major exceptions.

The 49ers shockingly traded DeForest Buckner to the Indianapolis Colts, and wide receiver Emmanuel Sanders agreed to terms with the New Orleans Saints as an unrestricted free agents. The 49ers also released starting right guard Mike Person.

The only 49ers addition through the first week of free agency was journeyman offensive lineman Tom Compton, who joins his sixth NFL team in six years.

[RELATED: New Kittle contract will be next item on 49ers' priority list]

But the 49ers signed defensive lineman Arik Armstead and free safety Jimmie Ward to multi-year contracts to ensure the returns of two of their top free agents.

Here are the preliminary grades of the 49ers’ moves during the first week of free agency:

DL DeForest Buckner trade

One week later, this still is a difficult one to evaluate.

The 49ers selected Buckner with the No. 7 overall pick in 2016. The 49ers got four great seasons from Buckner. At the time when they were going to have to start paying him big money, the 49ers flipped him for the 13th overall pick in this year's draft.

Obviously, that’s great value. But Buckner is one of those players who makes everybody around him better. So it is impossible to attempt to gauge his true impact until we see the 2020 season play out.

For the short term, the 49ers will not be as good without Buckner. But, in time, the move could turn out beneficial, depending on the production the 49ers get from the player chosen at No. 13 overall and Armstead.

The 49ers’ trade was generally well-received, but -- I’m sorry -- I cannot give an “A” to any trade that sends away a proven, consistent and impactful player such as Buckner.

Grade: B

DL Arik Armstead

Even with a salary cap that is expected to skyrocket in the coming years, the 49ers felt as if they had to make an either/or decision:

1) Armstead, his salary and the trade return from dealing Buckner; or ...

2) Buckner, his salary and the trade return from dealing Armstead.

The 49ers went with No. 1.

The 49ers signed Armstead to a deal with an average-per-year pay of $17 million, while Buckner received a $21 million annual average from the Colts after the trade. The 49ers could have placed the franchise tag on Armstead and tried to trade him, but they likely would not have been able to net a first-round draft pick.

Armstead’s fifth NFL season was his best, as he led the 49ers during the regular season with 10 sacks. The big question is whether Armstead can build on his 2019 season and live up to his contract when he does not have Buckner lining up next to him.

Grade: B

FS Jimmie Ward

The only question about Ward over his first six NFL seasons was his durability. He finally started and played 16 games last season -- even after missing the first three weeks following surgery to repair a fractured finger.

Ward is a big reason no team in the NFL surrendered fewer big plays in the passing game than the 49ers. The 49ers placed a high priority on re-signing Ward, rather than either go with Tarvarius Moore at free safety or select a safety to take the job.

The decision to re-sign Ward means the 49ers can save a top draft pick on another position. And with an average salary of $9.5 million, Ward still is not among the top-10 highest paid safeties in the NFL.

Grade: A-minus

DE Ronald Blair

It was horrible luck for Blair to sustain a torn ACL in his contract year. But it can still work out for him in the long run.

The 49ers are thrilled to get Blair back for the 2020 season, even if he still has a long road ahead of him to get healthy and make a contribution. Blair figures to have an important role in the 49ers’ defensive line rotation.

"His versatility and playmaking ability along with his strength of character off the field make him special,” Lynch said in a statement on Monday. “Ronnie's work ethic makes us confident he will return to form this season”

If Blair returns to form, he figures to see a lot of action and prove himself. Then, he could cash in with a sizable contract a year from now.

Grade: A

RB Jerick McKinnon new contract

The 49ers paid McKinnon more than $15 million the past two seasons. But he was injured and gave the team nothing in return. It is a good move for both sides to work out a deal in which the 49ers save more than $5.5 million on the salary cap and McKinnon finally gets a chance to show what he can do in Shanahan’s offense.

After all, there’s a reason Shanahan hand-picked McKinnon for his offense. He could be a huge factor for the 49ers on third downs.

Grade: A

[RELATED: 49ers mailbag: After free agency slows, what comes next in offseason?]

OL Ben Garland

Garland spent the first three months of the season learning three positions every week as a primary backup on the offensive line. Then, he moved into the starting lineup after Weston Richburg sustained a season-ending knee injury.

Garland proved to be a reliable backup. Bringing him back on a one-year contract to compete for the role he had a year ago was about as easy as it gets.

Grade: B-plus

OT Shon Coleman

Left tackle Joe Staley is at the stage of his career in which the 49ers have to be ready at any time for him to step aside. Coleman was a 16-game starter for the Cleveland Browns in 2017. Since coming to the 49ers in a trade before the 2018 season, he has not suited up for a regular-season game.

Coleman was inactive for the entire 2018 season. Then, he was the favorite to be the team’s swing tackle last year. But he was sidelined for the entire season with a fractured lower leg and dislocated ankle.

Coleman provides the 49ers with an insurance policy and competition at the offensive tackle positions.

Grade: B

OL Tom Compton

When the 49ers agreed to terms with Compton on a one-year contract, they immediately released Person. Compton has been with Shanahan at previous stops in Washington and Atlanta. The 49ers will be his sixth team in six years. He spent last season with the New York Jets.

Obviously, Shanahan knows how Compton fits into his offense, but it is difficult to see this move as providing the 49ers with an upgrade. Is Compton a starter? Probably not. Daniel Brunskill started games at three different spots on the offensive line last season, and he could be in line to take over at right guard.

Compton also counts against the 49ers’ compensatory formula. This far, they have lost Sanders and tight end Levine Toilolo and picked up Compton.

Grade: C-minus