Giants
Free Agent Regrade

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.

AT
Andie TownsendSep 22, 20268 min read
Every call on this site goes on a public ledger and gets graded. The misses stay up.
Luis Arraez at bat for the Giants in the cream home uniform with orange batting gear, in a 2026 home game before the All-Star break.

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.

SigningProcessAt the break
Sam HentgesBB-
Jason FoleyB-C
Adrian HouserC+C-
Tyler MahleB+D+
Harrison BaderA-D
Luis ArraezB+A
Rowan WickCC
Will BrennanB-D-
Ryan BoruckiC+D
Caleb KilianBB-
Jared OlivaC+D-
Eric HaaseB-D+
Gregory SantosC+D
Wilkin RamosB-D-
Buddy KennedyB-D-
Andrew KniznerBno grade until season's end
The classC+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.

Filed under Giants

More on Adrian Houser

His page →
Free Agent Regrade

The Giants' nine free-agent contracts, graded on signing day. The biggest one is a C+

The 2025-26 Giants signed nine major league free agents for $70.28 million guaranteed across the nine, and none of the nine came from the top of the market. Each is graded here as of its signing date, on a four-part rubric in this order: need, fit, price and term against MLB Trade Rumors' November 6 and FanGraphs' November 5 predictions, and risk. Hentges B, Foley B-, Houser C+, Mahle B+, Bader A-, Arraez B+, Wick C, Brennan B-, Borucki C+. The winter as a class, graded at opening day: C+. The result grades come at the All-Star break and at season's end.

Andie TownsendSep 22, 202612 min read
The Giants' nine free-agent contracts, graded on signing day. The biggest one is a C+
Six and six

Seven of the thirteen men who started for the Giants cannot pitch this week

Thirteen pitchers started a game for San Francisco in 2026. Seven of them are unavailable for the final homestand: Tyler Mahle was traded to Atlanta on August 2 and Robbie Ray to San Diego on August 3, while Trevor McDonald, JT Brubaker, Carson Whisenhunt, Adrian Houser and Logan Webb are all on the injured list. Those seven made 105 of the club's 156 starts, or 67.3 percent. Measured the same way on the same morning, with all thirty clubs carrying 28-man active rosters, that is the highest figure in the major leagues; the league median is 27.2 percent and Toronto is second at 50.0. The six starters still standing are Landen Roupp (29 starts), Blade Tidwell (8), Matt Wilkinson (5), Anthony Molina (4), Cesar Perdomo (3) and Yunior Marte (2), for six games in seven days. Wilkinson threw five scoreless innings at Dodger Stadium on Sunday with a career-high six strikeouts in a 3-1 loss. Tidwell starts against Minnesota tonight. One take filed.

Grant LombardSep 21, 20265 min read
Seven of the thirteen men who started for the Giants cannot pitch this week
The long man

Adrian Houser's Forearm Took A Job With It, And San Francisco Has Been Filling It With Starting Pitchers

San Diego beat San Francisco 7-5 at Oracle Park on Friday night. Anthony Molina gave up nine hits and seven earned runs in three innings; Yunior Marte, who made his major league debut as a starting pitcher two weeks ago and whose last relief appearance before this month came at High-A Eugene in April, threw the next five innings and allowed nothing. It was the tenth time in 148 games a Giants reliever has thrown more innings than that day's Giants starter. Adrian Houser was the reliever in six of the first seven. He has been on the injured list since August 26 with a right forearm strain and was moved to the 60-day list on September 1. Rafael Devers hit his 36th home run, a grand slam off Robbie Ray in the fifth, and San Francisco scored nothing after it. Two takes filed.

Grant LombardSep 12, 20265 min read
Adrian Houser's Forearm Took A Job With It, And San Francisco Has Been Filling It With Starting Pitchers

More on Andrew Knizner

His page →
Free Agent Regrade

Seven more Giants signings, graded from the day each one reached the majors

The second half of the 2025-26 class: Caleb Kilian and Jared Oliva, selected to the opening-day roster on March 25; Eric Haase on April 21, when Daniel Susac went to the injured list; Gregory Santos on April 29; Wilkin Ramos and Buddy Kennedy on June 1; and Andrew Knizner, signed to a major league deal on August 11 after Susac's kneecap fracture. Graded as of each selection date on need, fit, price and risk: Kilian B, Oliva C+, Haase B-, Santos C+, Ramos B-, Kennedy B-, Knizner B. Their result grades follow at the All-Star break and at season's end.

Andie TownsendSep 22, 20267 min read
Seven more Giants signings, graded from the day each one reached the majors
Feature

Andrew Knizner Has Changed Organizations Four Times Since December And Is Now The Giants' Most Experienced Catcher

Andrew Knizner is 31, was drafted in the seventh round in 2016, and has spent a decade being employed for the half of catching that never reaches a batting line. Seattle released him in March. Colorado released him in June. His Boston contract ended on August 7. Four days later the Giants signed him, and the last major league inning he caught was in their building, on September 27, a year to the day before their season ends.

Posey ThompsonAug 12, 20267 min read
Andrew Knizner Has Changed Organizations Four Times Since December And Is Now The Giants' Most Experienced Catcher
One night up

Zach Morgan Reached The Major Leagues On Monday Without Reaching The Batter's Box

Zach Morgan was a major league catcher for one game and did not catch it. The Giants called him up August 10 after Susac fractured his patella, sat him behind Drew Cavanaugh, signed 31-year-old Andrew Knizner off the free agent market the next day, and sent Morgan back to Triple-A. The league's own player record lists no debut date for him. There is a word for what he nearly became, and more than 400 men in baseball history have earned it.

Grant LombardAug 12, 20264 min read
Zach Morgan Reached The Major Leagues On Monday Without Reaching The Batter's Box

On the record

Called Shots →
OpenAug 8, 2026

Trent Harris starts at least one major league game for San Francisco in the 2026 regular season.

The whole piece rests on reading the three Triple-A starts as a conversion rather than a coincidence, and this is that reading stated so it can be scored. San Francisco stretched Harris out over three consecutive starts from July 21 to July 31, rested him seven days, and then spent a 40-man spot on him with two rotation spots unfilled and no starter named for any of the three games against Houston that begin August 10. If that sequence means what it appears to mean, he starts. The case against is real and I am taking the other side anyway: he made 120 relief appearances and three starts in his professional life, his longest outing was four innings and 51 pitches, and a club can want bulk innings from a man without ever handing him the first inning. Adrian Houser and JT Brubaker are both available for the same job and both have done it. A bullpen game in which Harris follows an opener does NOT count; the claim is that he is credited with the start. If he is optioned to Sacramento and never returns, or is injured, that is a MISS rather than a VOID, because the club's willingness to give him a start is exactly what is being tested and sending him down is one of the ways the answer turns out to be no.

Latest on the Giants

The whole beat →
Trade Regrade

The Giants made five trades in two days. Graded on August 3, one of them is a C+

A process grade asks whether a club made the right trade at the right price at the right time on what it knew that day, and the answer does not change when the players do. The five Giants deadline trades, graded as of August 3, 2026: Tyler Mahle to Atlanta for Anthony Molina, C+; Luis Arraez and Caleb Kilian to Philadelphia for Ramon Marquez and Marty Gair, A-; Robbie Ray to San Diego for Miguel Mendez and Joniel Hernandez, B+; Heliot Ramos to New York for Henry Lalane and Kaeden Kent, B; Erik Miller and Carlos Gutierrez to Boston for Marcelo Mayer, A-. Every source is dated August 2 to August 4. The result gets its own grade when the season ends on September 27.

Andie TownsendSep 22, 202611 min read
The Giants made five trades in two days. Graded on August 3, one of them is a C+
Left versus right

Remove Rafael Devers and the Giants are still 25th against left-handed pitching

Rafael Devers posted a .573 OPS against left-handed pitching and a 1.027 OPS against right-handed pitching in 2026, a gap of 454 points and the largest of any qualified left-handed hitter in the major leagues. Remove his 220 plate appearances against left-handers from San Francisco's team totals and the Giants improve from .669 to .684, which moves them from 28th to 25th of thirty and leaves them 22 points below the league median of .706. The 40-man roster holds 18 position players, nine right-handed and nine left-handed, and no switch-hitter; four of the thirty clubs are in that position. Willy Adames, the club's primary right-handed bat, hit worse against left-handed pitching than against right-handed pitching. The best right-handed answer in the system is 22-year-old Lorenzo Meola, who is at Single-A San Jose. One take filed.

Grant LombardSep 21, 20266 min read
Remove Rafael Devers and the Giants are still 25th against left-handed pitching
Two starts

The blister cost Logan Webb two starts and nothing else

San Francisco placed Logan Webb on the 15-day injured list on September 18 with a right middle finger blister and shut him down for the season, ending a year in which he made 27 starts and threw 160 2/3 innings at a 4.31 earned run average. It is his second injured list stint of 2026; he did not start for 20 San Francisco games in May with right knee bursitis. The 160 2/3 innings end a run of three straight seasons above 200, and two more starts at this year's rate would have left him near 172. His innings per start has fallen in each of the three seasons since 2023: 6.55, 6.20, 6.09, 5.95. Over his last five starts he allowed 23 earned runs in 21 2/3 innings. Landen Roupp has already made more starts than Webb this season, the first time anyone on the club has since 2021, and needs six innings across his remaining turns to pass him in innings as well. Hayden Birdsong, Trevor McDonald and Carson Whisenhunt are all on the club's injured list rehabbing from Tommy John surgery. One take filed.

Grant LombardSep 19, 20266 min read
The blister cost Logan Webb two starts and nothing else

Earlier on the Giants

The November deadline

Yunior Marte's 40-Man Spot Was Already Spoken For In November

San Francisco selected Yunior Marte's contract on August 29 and started him in the second game of a doubleheader against Arizona, under three months before the November deadline at which the club had to protect him or lose him in December. Marte signed with Kansas City on June 2, 2022 at age 18, which under the published rule gives his club five seasons, and 2026 is the fifth. San Francisco acquired him from the Royals for Mike Yastrzemski at last year's deadline. Buster Posey described the promotion criterion in public on August 23, six days earlier. Matt Wilkinson was the same case ten days earlier. The counter-argument is five pitchers newly hurt in August, which explains the vacancy and not who filled it. Two takes filed.

Grant LombardAug 31, 20265 min read
Yunior Marte's 40-Man Spot Was Already Spoken For In November
The rotation

Carson Whisenhunt's Only Scoreless Start This Season Was The One He Did Not Finish

San Francisco placed Carson Whisenhunt on the 15-day injured list on Tuesday and recalled Spencer Bivens from Triple-A Sacramento. Whisenhunt made eight starts this season, 34.2 innings at a 6.49 earned run average, and Monday's was the only one in which nobody scored on him. He is the third San Francisco starting pitcher this year to lose an elbow: Hayden Birdsong went on the 60-day injured list in March with Tommy John surgery already named in the transaction, Trevor McDonald had his on August 5, and Whisenhunt has been told to have his. Adrian Houser then left Tuesday's game after 26 pitches with what Tony Vitello called tightness in his flexor, and has an MRI Wednesday morning with no result published. Whisenhunt's major league record is 13 starts, 58 innings, 33 walks and 42 strikeouts.

Grant LombardAug 26, 20266 min read
Carson Whisenhunt's Only Scoreless Start This Season Was The One He Did Not Finish
Deadline math

Luis Arraez Is Worth What He Looks Like. Robbie Ray Is Worth 1.3 Runs Less.

One of the Giants' two rentals is having a season the components support. The other has the rotation's best ERA and its second-worst FIP. Pricing them the same way is the mistake available between now and August 3.

Jamie SilvaJul 26, 20266 min read
Luis Arraez Is Worth What He Looks Like. Robbie Ray Is Worth 1.3 Runs Less.