What moved.
On September 28, six features moved from Sonnet 5 to Sonnet 5.5: Wargamer turns with neither pasted rules nor a board photo, the Kriegsspiel umpire, the Kriegsspiel AI player, Kriegsspiel rules Q&A, the Matrix referee, and the RPG GM. The seventh Sonnet feature, Chat, stayed on Sonnet 5. Pasted-rules turns and the RPG rulebook condenser still run on DeepSeek V4.1 Flash, as in § 04.
How I tested it.
A model swap looks like one changed line, so I built a test first. It sends the same requests to both models: 28 inputs, four for each of seven features, 56 calls in all. The inputs come from the site’s own demo pages, test fixtures and placeholder examples, and no subscriber data went in. I wrote a handful myself to probe refusals, such as a rules question the rulebook cannot answer.
I had the pairs judged blind. DeepSeek V4.1 Flash read each pair without knowing which model wrote which and picked the better answer. It is neither contestant, so the self-preference problem from § 04 could not arise. Sonnet 5.5 won 18 of the 28 pairs and Sonnet 5 won 10.
Cost came out about the same: $1.44 for the 28 Sonnet 5 calls and $1.47 for the 28 Sonnet 5.5 calls, and nothing on the pricing page changes. Median time to finish a call fell from 13.8 to 10.9 seconds, with the biggest drops on the long Wargamer, Matrix and umpire turns. All 56 calls finished without an error or a cut-off answer. These are test timings, not live ones.
What the test caught.
The plain swap failed. Sonnet 5.5 refused every request that turned reasoning off, and the site turns it off on every Sonnet call so hidden thinking cannot eat the answer’s token budget (§ 03). My first run sent 5.5 the site’s normal settings, and all six calls that ran came back HTTP 400: “Reasoning is mandatory for this endpoint and cannot be disabled.” Swapping the model name alone would have broken every request to it. The six features now run at low reasoning effort, and all 28 test calls at that setting completed.
Chat got slower to start. Chat streams its replies as they are written. On Sonnet 5 the first word appeared after 1.4 to 1.6 seconds. On Sonnet 5.5 at low effort, three of four tries took 7 to 14 seconds before the first word, and the text then arrived almost at once. Ten seconds of blank chat looks broken. My side-by-side test missed it because its Chat request left out a setting the live site sends, and a separate timing run caught it. Chat stays on Sonnet 5 until it can show that it is thinking, or the model can run without reasoning.
One answer got worse. I added a tethered observation balloon to a test scenario under 1862 Kriegsspiel rules, which have no procedure for balloons. The AI player is told not to invent rules, and Sonnet 5.5 ordered the balloon. Sonnet 5 held it back, though neither model flagged the gap. I added a line to the AI player’s prompt: leave out any unit or device the rules have no procedure for, and tell the umpire it goes unused until the umpire rules how it works. That held in three of three runs on 5.5, and two standard runs, one per side, raised no false flag.
The judge did not see a clean sweep. Sonnet 5.5 took all four Matrix pairs and three of four in Wargamer, rules Q&A and Chat, and split the AI player and the RPG GM two and two. Sonnet 5 took three of the four Kriegsspiel umpire pairs, and the judge’s notes name a clock error and a misread die roll in the 5.5 answers. I checked both by hand. The die roll was right: the 1862 artillery table gives 12 points for that shot on a roll of 4, and the judge had read the wrong row. The clock came from my own test scenario, which gave two different times for the same turn; both models noticed, and 5.5 said which reading it chose and asked to be corrected. Neither was a real error, so the umpire moved too. Four pairs a feature is still a small sample. If a Kriegsspiel umpire turn looks wrong to you, tell me.
Where Match stands.
Match is an AI opponent for VASSAL. You play one side of a wargame you own, you upload its rulebook, and Match plays the other side by those rules. Wargamer already reads a VASSAL save and lists the board. Match plays a side.
It is built and merged, and switched off on the live site. You cannot play it, and it is not on sale. The tested-games page is empty because no game has passed both launch tests: a machine test, and a volunteer playing a full game against Match. A game that is not on that list is not supported.
What has been built.
The first rule was no hand-built opponent for any single game. Match reads the rulebook you supply, so it can serve a game I have never opened. For each decision it pulls a few relevant passages from your book. The first version finds them by keyword search, not vector search, on purpose: a keyword miss produces a refusal, and a vector near-miss produces a confident wrong rule. Match declines to move when it cannot find the rule, table or modifier it needs.
Two more rules are fixed. The model never supplies a die result. Rolls come from VASSAL’s own dice or from a record the server keeps, and a retry or an undo cannot reroll one. And Match sees only what its side could see. If the VASSAL extension I built cannot classify a piece as visible to that side, the turn stops before anything is sent.
The hard part was the connection to VASSAL itself. My first measurement, across the modules I test against, found zero candidate moves and no move it could apply and undo. Much of that was my measuring tool, which read stacked pieces as hidden and found neighbouring hexes with the wrong arithmetic. I rebuilt the tool, then built what it exposed: a census of what each side can see, a list of candidate moves the extension can apply and undo through VASSAL’s own commands, and the dice record. An audit of that build against its spec found four blockers. All four are closed.
The pieces that touch your account, your rulebook or the money went through repeated adversarial review by models from several labs. The server that stores rulebooks and issues game credentials took eleven rounds of review and fixes. Reviews find bugs. They cannot tell me whether the opponent plays well, so the launch test needs a person.
Two smaller pieces are built. You can ask the rules a quick question in VASSAL’s own chat window by starting a line with a question mark, and the answer shows on your screen only. And a cheaper way of writing each piece down cut board text from about 150 bytes a piece to under 10 on typical synthetic boards, so a board of 1,000 pieces fits in one decision.
What has to happen next.
Three things stand between Match and a sale. I have not run the full pass over the module collection that picks the first tested game, and that run is on hold. A volunteer has to play a full game against Match with their own copy of the rulebook. And I have not chosen the model that plays the other side. I will pick it by testing on real game positions, the way I just tested Sonnet 5.5.
I am giving no dates. The tested-games page fills in when a game passes both tests.
The model comparison in §§ 5.2 and 5.3 is one run of 56 calls, judged by one model. Test timings and costs come from that run, not from live traffic. The Match figures come from my own measurements on test modules and synthetic boards. Match is not on sale, and nothing in this entry promises a date.