The San Francisco Giants season is over. They finished at exactly .500, which is exactly one win better than one year ago, exactly two wins better than two years ago, and exactly the same as three years ago.
It was a failure of a season, and there’s really no way to paint it as otherwise. But that certainly doesn’t mean it was all bad. There was plenty of good in the season … heck, they won 81 games, meaning nearly a quarter of the days in 2025 resulted in you smiling because the Giants were victorious.
Beyond that, there were some positive developments that should give us reason for excitement and optimism heading into 2026. Yesterday I wrote about some of the many negative developments, and now it’s time for a little positivity. Which, admittedly, requires a little more digging.
But dig we must. Here are some of the best developments from the team’s extraordinarily mediocre season.
Christian Koss existed
Koss excited the fanbase with a strong Spring Training as a non-roster invitee. And I’ll admit it: I wasn’t buying it, not for a second.
Hot Spring Trainings are nothing new. Every year a few Giants who you forget about within a year or two put up gaudy numbers in the desert and lead to a share of KNBR callers insisting the team dump established players to make room for Minor League lifers.
This was my expectation for Koss. The Giants had everyday players at every infield position, and the 40-man roster (which Koss was not on) featured a trio of intriguing backups: the power bat and star potential of Casey Schmitt; the left-handed utility of Brett Wisely; and the defensive wizardry of Osleivis Basabe. Koss was 27, coming off his second straight mediocre season in AAA, and hadn’t hit above league average in a sample size exceeding one month since posting a pedestrian 105 wRC+ as a 23-year old in High-A back in 2021. As impressive as his camp was, Koss felt destined to hang out in Sacramento until there was an injury, then pop up for a week or two and get designated for assignment.
Well, I got that one exceedingly wrong. Koss impressed in every way: he played quality defense across the diamond, was the ultimate glue guy on the field and in the clubhouse, and, despite sporadic playing time, hit nearly as well in the Majors (91 wRC+) as he did in AAA a year ago (97 wRC+).
One of the issues with the Giants team-building in recent years has been that their backup roles have been occupied by prospects that the team is half-heartedly auditioning for larger roles. In Koss, they have a refreshing change of pace: he’ll almost surely never be a starter (though he’s proven me wrong before), but he feels like a borderline lock to spend the bulk of next season as the do-everything backup.
Koss established himself as exactly what you want out of a backup: a defensively talented and versatile player who gives maximum effort when called on, is fast enough to be a pinch-runner, and doesn’t make a stink about infrequent playing time.
Most impressive, however, was how professional his at-bats were. Despite being a glove-first rookie, he never looked overwhelmed in the box. He struck out just 23.6% of the time, and had three sacrifice bunts and two sacrifice flies in just 191 plate appearances. For a team that struggled in critical situations, Koss was a breath of fresh air: his OPS rose to .987 with runners in scoring position, and in 11 chances to bat with a runner on third and less than two outs, he put the ball in play nine times to knock in 11 runs.
And through it all, in a year where I encouraged many fans to avoid looking at their favorite players’ social media accounts, Koss managed to wear shirts to the ballpark that denigrated ICE, called for climate change action, and encouraged fans to read banned books.
I didn’t expect Koss to play this year. Instead, I have a new favorite player.
Landen Roupp emerged
In yesterday’s column of negativity and disappointments, I highlighted how the Giants failed to create a compelling — or even usable — rotation out of their young crop of arms. And upon further reflection, I don’t think I went hard enough on that point. Let’s recap:
- Kyle Harrison never looked like the ace the Giants expected him to be, and was traded.
- Hayden Birdsong, who I expected to be a mid-end starter by the end of the year, completely fell apart and now looks like a long shot to ever be a steady Major Leaguer in any capacity.
- Carson Whisenhunt, who already had a full year of AAA seasoning, spent almost the entire year in AAA again, and was mediocre upon his debut.
- Carson Ragsdale was DFA’d before debuting.
- Carson Seymour had a hard time striking out batters and gave up all the home runs.
- Trevor McDonald was excellent in two MLB starts, which came after a fairly awful year in AAA.
- Mason Black struggled in AAA and played in exactly one MLB game.
- Kai-Wei Teng joined the equation but couldn’t keep the ball in the strike zone.
- Blade Tidwell got injured before playing for the Giants.
Not good, folks! But through all of that, there was one bright spot: Roupp. The 2021 12th-round pick beat the odds to best Birdsong and Harrison in the biggest camp battle, then spent most of the year looking like a quality No. 3 pitcher. The year ended poorly: he suffered an injury in July, returned in August, gave up 10 runs in 5.1 innings across two starts, and was shut down. But other than that, it was a dynamic season for Roupp, who cemented himself alongside Logan Webb and Robbie Ray in next year’s rotation. At the time of his injury, Roupp had just a 3.11 ERA and a 3.62 FIP, and had allowed only four earned runs over his last six starts. The rotation remains the first, second, and third priorities heading into the offseason, but Roupp is part of the solution, not the problem.
Logan Webb became a strikeout artist
I don’t think we gave enough attention during the season to this development. Webb, already one of the best pitchers alive thanks to his impeccable command and ability to force players to hit the ball into the dirt, transformed himself into one of the best strikeout pitchers in the world.
Webb led the National League in strikeouts, and if you had asked me before the season what the odds of that were, here are a few things I would have said are more likely:
- The Giants winning the World Series
- A Giant hitting 40 home runs
- Christian Koss making the Opening Day roster and staying on it all year
- Patrick Bailey hitting a walk-off inside-the-park home run
But Webb did, indeed, lead the NL with 224 punchouts, besting his previous high by a whopping 30 Ks, in nine fewer innings. And it wasn’t just because he was a workhorse. In 2024, Webb ranked 82nd out of 115 MLB starters who threw at least 100 innings in strikeouts per inning. This year? 19th out of 119, while lowering his walk rate.
The result was the lowest FIP of Webb’s career, at 2.60 … trailing only Paul Skenes, Tarik Skubal, and Christopher Sánchez among starting pitchers. I don’t think it’s bold to say that Webb could have the best season of his career in 2026, when he’s a little more accustomed to his new-found strikeout abilities, and can better learn when to and how to rely on it.
Putting in my Cy Young prediction now…
Heliot Ramos learned how to hit righties
It was something of a tough year for Ramos, as I covered in yesterday’s article on disappointing developments. His power dropped off significantly, his defense fell off a cliff, and he made countless baserunning blunders.
But there was one ability where Ramos showed marked improvement: hitting same-handed pitchers, which is a hell of a skill for a right-handed hitter to have. In his breakout 2024, Ramos posted one of the greatest seasons in MLB history against left-handed pitchers, but hit like a backup infielder against righties, sporting a .673 OPS and an 89 wRC+.
This year he set the tone early, with one of the greatest at-bats of the season on Opening Day, working 11 pitches out of Hunter Greene before slamming a majestic home run. He carried that through the year, ending the season with a .723 OPS and a 106 wRC+ against righties, in more than 500 plate appearances.
It’s always logically dangerous to assume someone can maintain their improvements while halting their descents, but if Ramos can continue to hit that well against right-handers, while hitting lefties somewhere between what he did in 2025 (.743 OPS, 107 wRC+) and 2024 (1.189 OPS, 222 wRC+), he would be one of the best hitters in baseball. As it is, the improvements cemented Ramos’ spot as an everyday player, rather than a platoon bat.
Now it’s time for his winter goal, which is to end up on this list next year for fielding improvements.
Willy Adames was the best of both worlds
Buster Posey took a chance with his first major move as an executive, when he signed Willy Adames to the richest contract in franchise history. Adames was coming off one of the best offensive seasons of his career, but his defense had taken a huge hit. The pessimistic — but reasonable — view was that the offense wouldn’t hold, but the defense would.
And at first, that fear was realized. Through the end of May, Adames had a paltry .620 OPS and 78 wRC+ … and you could argue that his offense was far outpacing his defense.
But then he flipped it around. From June onwards, Adames sported an .811 OPS and a 125 wRC+, with Gold Glove caliber defense at shortstop. And when all was said and done, he proved that neither his 2024 offense was an outlier, nor his 2024 defense was a warning sign.
It’s not often that a lucrative contract ends up looking like a steal, but when you factor in Adames’ attitude, work ethic, and chemistry with seemingly every teammate — which led to a slam dunk Willie Mac Award — it’s hard to argue that the deal Posey handed Adames is anything other than a massive win.
On that note…
Buster Posey was aggressive
Was it a good season for one of the franchise’s greatest players in his presidential debut? Posey would be the first person to say “no.” They missed the playoffs, had a catastrophic losing skid, and fired a high-ranking leader for the third consecutive year.
But while we’re still waiting to see how good Posey can be in his new role, we at least know something exciting: he’s going to be aggressive. The decision to sign Adames — and to do so by offering him enough money to avoid a bidding war or dragging something out — was the first signal. Swinging the biggest trade of the season nearly two months before the deadline was the exclamation point. Posey was decisive in selling at the deadline, and while firing Bob Melvin a few months after guaranteeing his 2026 salary looks like an amateur slip, it also suggests someone who has no hesitation in making the moves he thinks need to be made.
It looks like Posey is going to be something of a gunslinger. The jury’s still out on if he’ll make it work, but it won’t be for a lack of exciting attempts.
And there we have the positive developments. There are, shockingly, plenty more we could talk about, I think we can all agree that 2,000 words of positivity is already more than this team deserved.