At the All-Star break, the Giants' winter regrades to a D+. Only Arraez went up
The first result grades for the 2025-26 free-agent class, read as of July 14 and from nothing after it: what each signing had produced for a 41-55 club through the break, against the grade its process earned on signing day. One of the fifteen graded so far moved up, one held, and thirteen moved down.

These regrades were written in September and read as of July 14, 2026, the day after the All-Star Game. Every line cited is each player's record through that date, and nothing that happened after it, in a game or on a transaction log, is in any letter. A result grade answers a different question from a process grade: not whether the signing was right on the day, but what it has produced for the club against what it cost, the role it has filled against the need it was signed for, and, for the multi-year deals, what is still owed. The process grades stand as written; a result grade is the second point on the same line.
The club at the break: 41-55 through July 12, fourth in the National League West. The season-end regrade follows September 27, and for two of the sixteen, Arraez and Mahle, the signing rows close on August 3, the day they were traded; their result lines continue on the Trade Regrade page. Andrew Knizner signed on August 11, after the break, and has no mid-season grade; his first checkpoint is the end of the season.
| Signing | Process | At the break |
|---|---|---|
| Sam Hentges | B | B- |
| Jason Foley | B- | C |
| Adrian Houser | C+ | C- |
| Tyler Mahle | B+ | D+ |
| Harrison Bader | A- | D |
| Luis Arraez | B+ | A |
| Rowan Wick | C | C |
| Will Brennan | B- | D- |
| Ryan Borucki | C+ | D |
| Caleb Kilian | B | B- |
| Jared Oliva | C+ | D- |
| Eric Haase | B- | D+ |
| Gregory Santos | C+ | D |
| Wilkin Ramos | B- | D- |
| Buddy Kennedy | B- | D- |
| Andrew Knizner | B | no grade until season's end |
| The class | C+ | D+ |
The one that moved up#
Arraez: B+ to A. Through July 14: 91 games, 402 plate appearances, .330/.369/.460, four home runs, 24 walks, 16 strikeouts, a 4.0 percent strikeout rate, eight steals, and the National League's All-Star second baseman, activated by the All-Star roster on July 13. Signed for one year and $12 million to fix the worst second-base production in the league, he was the best hitter on the roster by average and the only Giant at the All-Star Game. The A rather than the A+ is the club around him: a .330 average on a 41-55 team is a result, not a season.
Nothing else moved up. Wick holds at C, which is the grade for a signing that promised nothing in 2026 and has delivered exactly that from the 60-day injured list, where he has been since February 15.
The starters#
Houser: C+ to C-. Through July 14: 18 appearances, 14 of them starts, 80 innings, a 4.95 ERA, 55 strikeouts and 27 walks among 354 batters, 15.5 percent and 7.6 percent, and 13 home runs allowed. The winter's largest guarantee, at $22 million over two years, had been moved to the bullpen for four of its 18 appearances by the break, and the strikeout rate that was the risk on signing day is the risk that arrived. There is a 2027 salary of $9.5 million still owed, per the contract as reported at signing.
Mahle: B+ to D+. Through July 14: 15 starts, 78 innings, a 5.31 ERA, 73 strikeouts and 32 walks among 337 batters, 21.7 percent and 9.5 percent, 12 home runs, and a month lost from May 29 to June 24 to a left hamstring strain. The process grade priced the shoulder and the elbow; what arrived was a healthy pitcher with a 5.31 ERA on a $10 million guarantee. The row closes August 3 and the rest of his line belongs to the trade.
The center fielder#
Bader: A- to D. Through July 14: 30 games, 111 plate appearances, .170/.198/.358, five home runs, four walks and 34 strikeouts, 3.6 percent and 30.6 percent. He went to the injured list with a left hamstring strain on April 12, returned May 11, and went back on May 30 with left plantar fasciitis, where he remained at the break. Two years and $20.5 million bought 30 games of a .556 OPS by mid-July, with $10 million owed in 2027. The process grade rested on the glove and the legs; neither has been on the field since May 30, and the bat, which the market had flagged as a BABIP season, has been the one thing on the record. D, from his line and his contract.
The relievers#
Hentges: B to B-. He opened the season on the injured list, right knee and left shoulder, activated May 10. Through July 14: 23 appearances, 17 2/3 innings, a 2.04 ERA, 21 strikeouts and 15 walks among 82 batters, 25.6 percent and 18.3 percent, four holds. The run prevention is what the club paid $1.4 million for; the walk rate is a warning the sample cannot yet resolve either way.
Foley: B- to C. On the 60-day injured list from February 13, recovering from right shoulder surgery, and activated July 12. No major league line through July 14. The deal anticipated a midseason return and got one, at the break, which is a C: nothing delivered, nothing promised before now, and two more years of control on which the whole $2 million bet still rests.
Kilian: B to B-. Through July 14: 38 appearances, 38 innings, a 4.74 ERA, 47 strikeouts and 18 walks among 167 batters, 28.1 percent and 10.8 percent, eight saves and three holds. The minor-league signing became a closer by volume, with eight saves on a club that had few leads to close, and the 28 percent strikeout rate is the pitcher the spring line promised. The ERA is the reason for the minus.
Borucki: C+ to D. Through July 14: 21 appearances, 23 2/3 innings, a 4.94 ERA, 15 strikeouts and nine walks among 104 batters. Designated for assignment May 31, released June 6. A major league contract signed on six spring innings produced eleven weeks.
Santos: C+ to D. Through July 14: three appearances, five innings, a 3.60 ERA, one strikeout and three walks among 22 batters. Optioned May 10, on Sacramento's injured list from May 26 to June 24, outrighted July 6 and elected free agency the next day. The line the club promoted him on had six strikeouts in 44 batters; the major league line had one in 22.
Ramos: B- to D-. Two appearances, two innings, five earned runs, one strikeout and four walks among 15 batters. Optioned June 5, designated June 26, outrighted July 2. The cheapest transaction of the winter delivered two innings.
The bench#
Haase: B- to D+. Through July 14: 29 games, 84 plate appearances, .162/.235/.365, four home runs, six walks and 28 strikeouts, 33.3 percent. The strikeout rate the process grade named as the risk is the whole line; the four home runs are why the D carries a plus. He was on the active roster at the break.
Oliva: C+ to D-. Seven games, seven plate appearances, one hit, one stolen base. A left wrist hamate fracture on April 15 ended his April; he was moved to the 60-day injured list April 29, designated June 20 and claimed by the Mets on June 23. The roster spot the club cleared Luis Matos to create held Oliva for three weeks of games.
Brennan: B- to D-. Eleven games, 23 plate appearances, two hits, no walks, .087/.087/.087. Optioned four times between March 24 and May 31, designated June 10, outrighted to Sacramento June 17. A depth signing with options used every one of them.
Kennedy: B- to D-. With San Francisco: seven games, eight plate appearances, no hits, one walk. Designated June 28 and traded to Seattle for cash on June 29. The .321 at Sacramento did not survive the promotion, and the out-of-options risk the process grade named was the mechanism that ended it.
The class: C+ to D+#
Weighted by what it cost, the winter at the break is the two position players and the two starters, $64.5 million of the $70.28 million guaranteed across the nine contracts. One of the four is an All-Star on a one-year deal. The other three are a 4.95 ERA with a year still owed, a 5.31 ERA, and a .170 average on the injured list with a year still owed. The bullpen the club described as its problem in October had, at the break, one healthy signing pitching to a 2.04 ERA in 17 2/3 innings and one just activated. The two bench signings that cost roster spots were both off the roster. D+, and the season-end regrade on September 27 will ask a narrower question of a shorter list: which of the sixteen is still a Giant, and what is still owed to the ones who are?
Sources: MLB Stats API (each player's 2026 major league line by date range from March 1 through July 14, with plate appearances or batters faced as the denominator; transactions and injured-list placements through July 14; the schedule feed for the club's record through July 12); contract terms as reported at signing by MLB Trade Rumors (Houser, December 16, 2025; Mahle, December 31, 2025; Bader, January 30, 2026; Arraez, February 10, 2026; Anthony Franco's offseason review of March 5, 2026, for the class totals). Every source above is dated on or before July 14, 2026; the contract terms were all reported before it.











