Twenty-One Locks, Twelve Arguments, And One Australian With A Visa
Camp opens today with the top of the roster already decided. The actual football happens at the bottom, where a punter from Melbourne would very much like to punt in Melbourne.
Here is the thing nobody wants to say out loud in late July, because it makes for a boring month of content: this roster is mostly finished.
Twenty-one players are locks. Not "probably." Not "barring something weird." Locks, graded 9 or 10 out of 10 on the confidence scale, players you do not think about again until Week 1. Brock Purdy, Christian McCaffrey, Trent Williams, Nick Bosa, Fred Warner, George Kittle, Deommodore Lenoir, Mike Evans. Another 28 sit at 7 or 8, which is roster-speak for "in, unless something breaks."
That is 49 players for 53 spots before a single padded practice.
So the entire month of August, the whole grinding apparatus of joint practices and three preseason games and Kyle Shanahan doing his level best to say nothing at a podium, comes down to about twelve real arguments.
Good news: several of them are actually interesting.
The one open starting job
There is exactly one, and it is left guard.
San Francisco rotated bodies through that spot all of 2025 and hated every minute of it. The lean coming out of spring is Connor Colby, who ran with the first team and profiles as the guy they would prefer to win it. Robert Jones is the veteran fallback, the guy you start if the answer is "we cannot risk this." Carver Willis and Brett Toth are in the room too.
Note what this battle is not. All four of these players are very likely on the team. This is not a cut-day fight, it is a starting-lineup fight, which is a different and lower-stakes species of camp drama. The line is set at four spots and searching for a fifth.
The bottom of the receiver room is a track meet
Ricky Pearsall and De'Zhaun Stribling and Christian Kirk are all going to be here. The question at the top is whether Stribling's size and blocking beat Kirk's veteran shiftiness for the slot role, which, again, is a role question, not a roster question.
The roster question is one slot lower. Jacob Cowing versus Jordan Watkins for the sixth receiver spot, and the tiebreaker is almost certainly the punt return job. Cowing might be the fastest man on the roster. Watkins was ascending before a preseason ankle injury flattened his 2025.
Both healthy, both might stick. One injury anywhere in the room and the math resolves itself without anyone having to make a decision, which is how most of these actually get settled.
And now the punter
Corliss Waitman is the incumbent. Jack Bouwmeester is an Australian rookie whose visa has cleared.
The 49ers open the season on September 10 against the Rams. In Melbourne.
I want to be careful here, because "rookie punter wants to punt in his home country" is exactly the kind of story that writes itself into a decision it should not actually influence. Brant Boyer is going to pick the better punter. Special teams coordinators are not sentimental people; sentiment is how you end up explaining a shanked punt from your own 12.
But the schedule is the schedule, and if this thing is close in the middle of August, somebody in that building is going to think about it. (Somebody in that building has already thought about it. Somebody in that building thought about it in April.)
Chart every camp punt. This is the most fun competition on the roster and it is not close.
The rest of the ledger, briefly
Backup running back. Jordan James versus Kaelon Black, and it matters more than usual because the organization keeps saying out loud that it wants to lighten McCaffrey's workload. Isaac Guerendo's pec injury clears the runway for both. James is the quicker, more fluid back. Black is the more powerful one, and was the higher-rated back on their own board.
Fifth safety. None of the top three, Malik Mustapha, Ji'Ayir Brown, Marques Sigle, is a true free safety. That is the exact door Ashtyn Davis was signed to walk through. Sigle profiles as the big nickel piece rather than the deep man.
Corner depth, with an asterisk. Jack Jones and Darrell Luter Jr. are competing for spots that may or may not exist, because the Renardo Green trade rumors will not die. If Green goes, one spot becomes two.
Linebacker depth. Jaden Dugger, Nick Martin, Garret Wallow, and probably two of the three stick. Dugger took SAM reps in the spring, which is a real tell in July.
The lurking domino. San Francisco has roughly $70 million in cap space and a thin edge room behind Bosa. John Lynch has already called Joey Bosa "too expensive," which is the kind of thing general managers say in July and stop saying in August. Any veteran edge signing reshuffles the entire defensive line bubble.
What the injury list is actually telling you
Purdy is a full go and taking his first genuinely full offseason. Warner's broken ankle is cleared. Bosa is expected back at the start of camp or shortly into it, off the ACL.
The yellow lights are the ones to watch, and they cluster: Kittle (January Achilles tear, optimistic for Week 1), Mykel Williams (ACL in Week 9, expected at camp but a real PUP candidate), Alfred Collins (offseason shoulder), Keion White, who was shot in the foot and leg after the Super Bowl and has been posting workouts.
Luke Gifford has a concussion from OTAs, sustained in a collision with Mike Evans, which is a sentence that should be framed and hung somewhere in Santa Clara.
The top of this roster is unusually settled for late July, which means the projection risk is concentrated at the bottom. Twelve spots, four or five of them decided by special teams value rather than position value. Cut day is going to be quieter than usual, right up until it is not.
The 53-man tracker updates through camp, with a confidence grade on every player and the battles above tracked as they resolve. It gets graded against the real 53 in late August, publicly, including the parts it gets wrong.
Anyway. Camp opens today.
Somebody go time those punts.