The premise is wonderful. The writing is good. The characters and their motivations are mostly believable and well written.
But there are times where the writer railroads his characters because he knows where he wants the story to go but doesn’t seem to know how to get there.
The ending is a frustratingly prime example. Without giving too much away, it’s like he realized it was time for the story to end so he dropped all pretensions of grand story telling or strategy and had characters act contrary to their best interests (not to mention contrary to how they had always acted before) to quickly bring things to a finish.
And the way it ends is so unsatisfying because it basically means that 2/3rds of the story were extraneous because the protagonist could have taken out the antagonist at any time, in the exact same way, from their first meeting.
He learned things that helped in the fight, but it made it a slightly shorter fight, not possible vs impossible.
It would be like if Harry Potter killed Voldemort in the Goblet of Fire with his Patronous Spell because JK got tired of riding the gravy train. The story feels incomplete and unsatisfying.
The most frustrating part is that the books are so good when the author just gets out of the way that there is a sharp contrast between good and bad making the bad seem worse!