The 49ers-Chargers joint practice had the easy alumni-weekend packaging: Jim Harbaugh back in front of Bay Area reporters, Kyle Shanahan on the other sideline, old franchise ghosts in the air. The useful read was colder: with Christian McCaffrey still managed, Nick Bosa absent from the session, and Brock Purdy calling the work uneven, Tuesday looked less like nostalgia than a preseason audit of the 49ers’ actual dependencies.

Line not pulled — analysis only. The newsroom odds client showed no matching NFL event for 49ers-Chargers, so there is no preseason number attached here and no attempt to monetize a joint-practice read.

That is the right kind of boring. August is where bankrolls go to get poetic. A seven-on-seven clip becomes a prophecy. A veteran on the sideline becomes a conspiracy. A quarterback handshake becomes content. By the time the real games arrive, you have built a whole emotional portfolio out of camp reports, and the first third-and-7 can light it on fire before the nachos cool.

So the useful question out of Tuesday in El Segundo is not whether Jim Harbaugh finally got to meet Brock Purdy. It is what the 49ers looked like when the day stopped being a family reunion and started behaving like a stress test.

Start with the pass rush, because everything else tilts around it. Nick Bosa was not part of the competitive work in David Lombardi’s SF Standard report from the joint practice (external source, opens in a new tab), and that absence changes the geometry of this defense even in a glorified August lab. Remove the best edge player from a defense built to make quarterbacks feel rushed before they are rushed, and you find out who else can hold the roof.

Tuesday gave the 49ers an uncomfortable version of that test. Lombardi had the Chargers hitting San Francisco early by stressing the run fits, selling play action off that stress, and letting Justin Herbert throw into space downfield. That is not a September verdict. It is a practice-field warning label. If the edge is late, the coverage has to defend ghosts.

This is where Osa Odighizuwa becomes more than a nice camp name to underline and forget. The Standard had him repeatedly arriving in position to end plays that could not actually end, because quarterbacks are not live in these settings. That caveat matters. We are not inventing sack totals from a practice report. But the note is useful anyway: the 49ers do not need another nostalgia prompt; they need interior disruption that can keep the defense from becoming too Bosa-dependent.

Purdy’s read on Osa was telling because quarterbacks grade pass rush with their nervous system. They feel who bends the pocket. They know which rushers alter the release point and which ones arrive for the photo after the throw. When Purdy calls Odighizuwa one of the league’s more slept-on guys, the quote is not a market by itself, but it is better than most August praise because the speaker is the one who has to live in those lanes every day.

He told the Standard the 49ers’ fundamentals were “just a little off.”

The second pressure point was Christian McCaffrey. TSN’s camp update framed McCaffrey’s absence as a workload-management issue tied to tightness (external source, opens in a new tab), and the Standard had Shanahan rejecting the idea that this was a contract protest. That should be enough to kill the melodrama. It should not be enough to kill the concern.

There is a difference between alarm and accounting. The 49ers can be completely sincere that McCaffrey’s situation is precautionary and still be living inside the bigger truth that their offense asks the room to hold its breath whenever he is unavailable. Some players are stars. Some players are load-bearing walls. McCaffrey is both, which is why every quiet practice in August gets loud around him.

Then there is Purdy, still stuck in the weirdest possible version of being established. Harbaugh praising his timing, accuracy, decision-making and general cool is perfect training-camp theater. Harbaugh returning to a Bay Area scrum and asking Shanahan for an introduction to the quarterback who stabilized the post-2021 quarterback mess is the kind of detail that makes August briefly feel like a novel.

But Purdy’s own assessment mattered more. He told the Standard the 49ers’ fundamentals were “just a little off.” That is not a crisis quote. It is a useful one because it refuses to sell polish. The conversation around Purdy still wants to turn every uneven day into a referendum on whether he is real. He is real. The question now is more adult and less fun: how many imperfect conditions can he absorb when the roster around him is not operating at full compression?

That is why the reunion material belongs in the background. Harbaugh gave the day its glow. Of course he did. He is one of the few coaches in the sport who can turn a podium into a porch, a handshake into a plot point, a joint practice into alumni weekend. Bay Area people do not need much help remembering what he meant here: the last Candlestick push, the Levi’s comedown, the feeling that the franchise was always one sideline tantrum away from either transcendence or combustion.

But nostalgia was the least useful part of the day. The useful part was the discomfort. Bosa out and the edge structure exposed to a real quarterback. McCaffrey managed and the offense’s dependency visible again. Osa flashing in a format that cannot fully credit him. Purdy naming the day uneven instead of decorating it.

That is the whole preseason bargain. You do not want answers yet. Answers in August are usually lies with better lighting. You want pressure applied in the right places, and you want the staff honest enough to read the bruises.

No bet. No camp prophecy. Just a diagnostic.

Candlestick ghosts are fun. Edges set the price.