BACKROOM DIALOGS · THE DIVERSIONS
Worth It Compared to Peers? Every Place Our AI Tournament Is Not Science
Five AI models, one poker table, one cloud bill. Here is everything that isn’t equal between them, everything we noticed along the way, and the test each seat faced: would you hire it at its price, next to the others? Begun before the first tournament hand; the tournament has now been played.
Why this page exists
This is not science.
Kevin Swinson, Oct 27, 2026
A real experiment controls everything except the one thing being tested. This tournament can’t. The five models are different ages, one of them thinks out loud before it answers, AWS refused three of the six we first picked, and the instructions every seat reads were tuned on one company’s model. Pretending otherwise would make the results look sharper than they are.
So the rule is the opposite of hiding it: keep the spirit of fairness, write down every place the tournament departs from a controlled test, and note the general things we learn along the way. No winner is crowned. Results describe how each seat played, not which company builds better AI.
The question: worth it compared to peers?
Kevin is a CIO. He spends public money, and he reads this tournament the way he’d read a hiring round: a SWOT for each candidate (strengths, weaknesses, opportunities, threats), with the salary on the table. A seat that isn’t worth its cost can be let go.
That lens matters beyond poker. Many organizations run on a single AI vendor and never see what the same work would cost elsewhere. With nothing to compare it to, a price is just a price. Put five models on the same job, with the same rules and the same cards, and the price becomes a comparison. The most expensive seat can still be the right hire, if its results are better than its peers’ by enough to pay for the difference.
How each seat will be judged
- Cost: dollars per 100 hands, compared with the average of the five seats.
- Results: big blinds won per 100 hands in the duplicate matches, compared with the average, plus how cleanly it played (how often the harness had to fix or replace its answer).
- Confidence: a few hundred hands is not much poker (diversion 9). If a gap in results is within what luck alone could produce, the verdict says no clear difference in play, and cost decides.
| Cheaper and better Hire. | Pricier and better Worth it only if the gain pays for the price. Stated as “costs this much more per big blind won.” |
| Cheaper and worse A budget option, for work where good enough is enough. | Pricier and worse Discontinue. |
The definition is a draft until the pilot gives us a real cost per hand. It is written down now, before any tournament results exist, so it can’t be bent to fit them.
What is held the same for every seat
- One harness: the same seat code, the same instructions, the same answer reader.
- The same view of the table, including computed hand facts, the legal moves, and the smallest and largest raise allowed.
- The same reply limit: 2,048 tokens (see diversion 7).
- The same cards: every match is played twice from the same shuffled decks, with the seats swapped. That is called duplicate dealing, and it cancels much of the luck.
- Stacks reset to 200 chips every hand (blinds 1/2), so one big hand can’t snowball.
- No memory between decisions: a fresh agent for every move.
- The same Dealer, which shows each seat only its own cards. Audited Oct 29: true for all 9,598 tournament moves (below).
- AWS problems are retried and never charged to a seat.
- The same fallback: when an answer can’t be used, the same simple house rules play that move, whichever seat it is.
- Codenames A through E, assigned by the script at random and sealed. The key’s fingerprint was published before play (below).
The diversions
Each one is something that is not equal, or that bends the result. The numbers never change once given, so later dialogs can point to them.
The field
| # | DIVERSION | WHY IT MATTERS | DATE |
|---|---|---|---|
1 | Model generations differ: some seats are newer, some older. AWS refused the newest ones for this account. | A generation gap can look like a company gap. | Oct 27 |
2 | One seat is a reasoning model that thinks before it answers. On the ace-king test hand it wrote about 450 tokens where the others wrote about 25; after the flop it often uses 900 to 1,500. | It pays more, is slower, and is the only seat that comes near the reply limit (7 and 14). | Oct 27, updated Oct 28 |
3 | Five seats, not six. xAI’s Grok seat is built, but AWS refused it. | Fewer pairings; one company absent. | Oct 27 |
12 | Codenames hide the letters, not the roster. Dialog 4 already lists the five models, and token counts point to the thinking model. | The blind is partial. Kept as a lesson, not hidden. | Oct 27 |
The rules
| # | DIVERSION | WHY IT MATTERS | DATE |
|---|---|---|---|
4 | The instructions were tuned on Claude. Every rule in them was written by fixing Claude Haiku’s mistakes on the public table. | Home-field advantage for the Claude seat. Disclosed, not removed. | Oct 27 |
5 | The hand facts are computed in code for everyone. | Fair, but it tests decisions more than card reading. A model that reads cards well gets no credit for it. | Oct 27 |
6 | Temperature and other sampling settings are each model’s default, not set equal. | Models vary run to run, by different amounts. | Oct 27 |
7 | One reply limit for all, raised from 512 to 2,048 tokens on Oct 27 after the thinking model ran out of room on the easiest hand in poker. The other four use about 25 either way. | The limit is now a safety stop, not a penalty. Raising it after watching one model fail is a rule changed mid-stream, so it is written down. | Oct 27 |
8 | One framework (Strands) and one prompt style (JSON, English) for all. | Some models were trained on this format more than others. | Oct 27 |
14 | The thinking model still hits the 2,048 limit now and then: 1 of its 25 practice moves, on a river. Its average (795 tokens) hides how close it runs on hard spots. | The limit falls hardest on one seat, and on exactly the hard decisions. Those moves are played by the house rules, and the count is always reported. Tournament, Oct 29: 20 of the thinking seat’s 1,962 moves (1%) were cut off; one other seat was cut off twice. | Oct 28, updated Oct 29 |
16 | A seat can be discontinued mid-tournament if it isn’t cost-effective. The limit stays at 2,048 and won’t be raised again to save a seat. | A dropped seat plays fewer hands and some pairings never happen. When it happens, we write down when, why and the numbers behind it. | Oct 28 |
19 | The harness repairs some mistakes before they reach the table. A fold when checking is free is played as a check; one seat did that 160 times. An impossible “check” facing a bet is corrected too. | The chips measure the seat plus its safety net. A seat with a costly habit loses less than it would on its own, so its flag counts belong next to its results. | Oct 29 |
The measurement
| # | DIVERSION | WHY IT MATTERS | DATE |
|---|---|---|---|
9 | Small samples. A few hundred hands per pairing is far too few to separate skill from luck in poker. | Duplicate dealing reduces luck but doesn’t remove it. Updated Oct 29: a luck check on the paired deals (a sign-flip test) found one seat’s result beyond what luck explains; the other four are within it. Claims are limited to that. | Oct 27, updated Oct 29 |
10 | The backroom Dealer gives the odd chip of a split pot to the big blind. The public Dealer loses it. | Backroom and public results are counted slightly differently. Corrected Oct 29: in this tournament the rule never acted. Heads-up, both players put the same amount into any pot that reaches a showdown, so a split pot is always even. All 10 split pots were. The difference is real on a full table, not at heads-up. | Oct 27, corrected Oct 29 |
13 | The checks for a seat naming itself, reaching for tools, claiming hidden information or talking to the table are simple word lists. | They will miss some cases and wrongly flag others. A person reads every flag before anything is published. | Oct 27 |
21 | The Dealer is plain code, not an AI agent. The Dealer Agent built on Sep 19 (an MCP server) has never been deployed. The tournament was dealt by dealer.py, the engine behind the public heads-up table, run inside the match runner with one small change (diversion 10). | A reader who knows the project’s “one deals, one plays” design could assume an AI agent dealt. None did. The referee was rules, not judgment. It was also the one part nobody had checked, until the audit below. | Oct 29 |
15 | We can read less of one seat’s reasoning than the others’. For four seats, the logged reply is nearly everything they wrote. For the thinking seat, the log holds the final answer and a one-line reason (“trips on board”), not the 900 to 1,500 tokens of thinking behind it. | The reasons look alike across seats but stand for very different amounts of work. If the thinking is dropped, we paid for it and can’t show it. Answered Oct 29: it is dropped. The seat code keeps only the text of the reply. The thinking seat averaged 655 output tokens a move, but only 65 characters were saved: about 97% of its output was billed and never logged. Results and costs are unaffected; the tournament’s reasoning can’t be reviewed. | Oct 28, answered Oct 29 |
The money
| # | DIVERSION | WHY IT MATTERS | DATE |
|---|---|---|---|
11 | Speed and cost don’t change the chips. Since Oct 28 they count in the review, beside the chips. | At the table, a slow, expensive model plays the same as a fast, cheap one. In the review it doesn’t: a seat can play well and still not be worth hiring. | Oct 27, updated Oct 28 |
17 | Dollar cost needs each model’s price, and the price list points to which model is which. Token counts are blind; dollars aren’t. | Cost-effectiveness and the blind pull against each other. Plan: a script reads the sealed key, applies prices and prints dollars by letter only, so the mapping is never shown. Updated Oct 29: the script works, but the plan has a hole: dollars divided by tokens is the price, and the five prices are all different, so a cost table by letter names every letter for anyone with AWS’s price list. It was run anyway, as a deliberate reveal, at 9:29 am, after each seat’s play was judged and frozen (9:22). At 9:31 a cost view by model, opened to check the bill, made the reveal complete. The sealed key itself is still unopened. | Oct 28, updated Oct 29 |
18 | Every seat runs on one cloud (AWS Bedrock) at Bedrock prices. | “Peers” means other model makers on the same platform: the comparison a single-cloud shop can actually make, but not the whole market. | Oct 28 |
20 | Dollars by letter count the model calls only. The seats’ cloud runtime and the server are shared and not split by seat. | Per-seat cost is the part that differs between seats; the shared part (the server, about $34 a month) can be larger than the whole tournament’s model bill ($15.52). | Oct 29 |
The seat that keeps being the exception
Four of the five seats answer in about 25 tokens and half a second to 1.7 seconds. The fifth thinks first. It was the seat that ran out of room at 512 tokens and folded ace-king through the fallback (Dialog 6). It was the reason the limit went to 2,048. In practice it averaged 795 tokens and 7.4 seconds per move, took 24 seconds on its slowest, and still hit the limit once.
It is also where the hiring question is sharpest. It costs the most per move by far. If it also plays the best, it may be worth every cent; if it doesn’t, the verdict writes itself. That is exactly the comparison a single-vendor shop never gets to make.
Correction, Oct 29: the sentence above was wrong, and it stays so the mistake is visible. It wrote by far the most tokens (655 a move in the tournament, 5.3 seconds) but was not the most expensive seat. Its price per token is low enough that two other seats cost more in total. Tokens are a count; dollars are a count times a price, and the price varies twentyfold.
The fallback is part of the experiment
When a seat’s answer can’t be used (cut off at the limit, unreadable, or AWS didn’t answer), the house rules play the move. That stand-in isn’t neutral. Before the flop it scores ace-king as just “ace-high” and folds it facing a bet. With a made hand it plays sensibly: on the thinking seat’s one cutoff, holding trips, it made a minimum raise.
So every fallback turns a seat’s failure into its score, played by a weaker player. That’s why fallback counts are reported for every seat, never folded into the chip totals quietly.
Practice results, for the record
Each seat played 20 hands against the house bot, a simple rules player that makes no AI calls. The point was clean play, not winning. Chips against this opponent mean nothing: it raises the minimum every time its hand scores well, so a single hand can run 20 moves.
| SEAT | DECISIONS | CLEAN | NEEDED HELP | TOKENS IN / OUT | AVG TIME |
|---|---|---|---|---|---|
| A | 13 | 13 | none | 1,239 / 27 | 0.6 s |
| B | 19 | 19 | 3 format fixes, one hand | 1,360 / 74 | 1.7 s |
| C | 14 | 14 | none | 1,225 / 23 | 0.5 s |
| D | 22 | 22 | none | 1,301 / 28 | 0.7 s |
| E | 25 | 24 | 1 limit hit → fallback | 1,372 / 795 | 7.4 s |
No seat named itself, talked to the table, reached for a tool, claimed to see hidden cards or refused to play. Every chip check passed, and AWS never stumbled.
The pilot: the first real match
On the evening of Oct 28, seats A and B played the first real match: 50 hands, then the same 50 decks again with the seats swapped. It was the first time two AI seats faced each other instead of the house bot, and its job was to measure what a hand costs.
| GAME | SEATS | RESULT |
|---|---|---|
| 996011 | A first, B second | A +326 |
| 996012 | Same cards, seats swapped | B +258 |
| Match | Both added together | A +68 |
This is duplicate dealing doing its job. Whoever held the good cards won about 300 chips; dealt the same cards with the seats reversed, nearly all of it cancelled. The 68 chips left (34 big blinds per 100 hands) is the part that might be skill, and in 100 hands it can still be luck (diversion 9). No claim is made from it.
| SEAT | DECISIONS | NEEDED HELP | MOVES PER HAND | TOKENS IN / OUT PER HAND | SECONDS PER HAND |
|---|---|---|---|---|---|
| A | 208 | 1 format fix, 1 fold when checking was free | 2.08 | 2,725 / 60 | 1.8 |
| B | 212 | 35 format fixes | 2.12 | 2,897 / 173 | 3.8 |
Every one of the 420 decisions was played by the seat itself: no fallbacks, no cutoffs, no AWS trouble. Against a real opponent, each seat makes about two moves per hand, compared with about one against the house bot.
What a hand costs
Tokens become dollars at each model’s price, and the five prices are far apart. Published Bedrock rates for the five models in this field run from $0.15 to $3.00 per million input tokens and from $0.60 to $15 per million output tokens: a twentyfold spread. So at the same token count, a hand costs between about five hundredths of a cent and one cent per seat. The seat that writes the most tokens isn’t necessarily the one that costs the most, which is exactly why “worth it compared to peers” has to be worked out in dollars, not tokens.
Exact dollars by letter wait for the script in diversion 17. A rough estimate for the whole tournament (ten matches, every seat in four of them) at these token counts: about $7 to $16 at 50 hands per pass, and $25 to $65 at 200, before the small charge for the seats’ cloud runtime. Either fits the $100 monthly budget. The tighter limits turned out to be time and the server.
The tournament, for the record
Ten matches ran overnight on Oct 28–29: every pair of seats, 100 hands each way on the same decks, 800 hands per seat, 2,000 in all. Every game played to the end and every chip check passed. The seats made 9,598 decisions; the harness flagged 614 of them, and every flag was read before anything was written up.
| SEAT | BIG BLINDS PER 100 HANDS | CHANCE LUCK ALONE DOES THIS |
|---|---|---|
| C | +148 | 0.2% |
| B | −8 | 84% |
| E | −13 | 74% |
| D | −63 | 14% |
| A | −64 | 10% |
One seat, C, is clearly ahead; the other four can’t be told apart in 800 hands (diversion 9). Costs, verdicts and a SWOT for each letter are in Dialog 10. They aren’t repeated here, because a cost table by letter also names the models (diversion 17). The model bill for the whole tournament was $15.52, and the AWS bill agreed within 1.4%.
The Dealer, audited
Every result above leans on the Dealer: that both passes of a match really got the same cards, that the right player won each showdown, and that no seat saw what it shouldn’t. On the morning of Oct 29 the chip check had passed on every hand, but a chip check only proves chips weren’t created or lost. It doesn’t prove the right player won. The seats had been reviewed flag by flag; the referee had not.
So on the afternoon of Oct 29 a read-only script, dealer_audit.py, went through the tournament logs on the server. It opened no key, made no AWS calls and changed nothing. Before it touched the real logs, it was tested on made-up logs with five planted Dealer bugs, and it caught all five. It ran at 2:03 pm Mountain.
| CHECK | WHAT IT ASKED | RESULT |
|---|---|---|
| Decks | Is every deal nine real, different cards? | 2,000 of 2,000 |
| Duplicate | Did both passes of each match get the same seed, cards and button, with the seats swapped? Was any shuffle reused between matches? | 1,000 deals, none reused |
| Winners | Re-score every showdown with a separately written hand evaluator. Same winner? Same hand name? | 151 of 151 |
| Chips | Do stacks add to 400, and does each win and loss match its pot? | 2,000 of 2,000 |
| Odd chip | Where did the odd chip of each split pot go? | 10 splits, none odd |
| Hidden cards | At every move, was the seat shown only its own cards and the board so far? | 9,598 of 9,598 |
| Shuffle | Did each card come up about equally often across the 1,000 unique deals? | 146 to 201 times (173 expected) |
The Dealer is cleared. The other 1,849 hands ended in a fold, where the winner is simply whoever didn’t fold, so there was nothing to re-score. The 9,598 moves checked are exactly the decision count in the tournament report. The shuffle spread is ordinary variation (a chi-square test put it at p = 0.76, nowhere near suspicious).
What the audit can’t say: it checks the Dealer against the logs the runner wrote. If the runner had logged something other than what it dealt, the logs would agree with themselves and the audit would pass anyway. The Game Review spot check (game 996109, matched to the chip) is the one outside cross-check so far.
Things we only found by running it
Not results, just observations. Most are about the plumbing, and that’s the point: none of these would have shown up on paper.
| DATE | WHAT WE NOTICED |
|---|---|
Oct 27 | The AWS catalog lists models this account can’t call. Listed isn’t available. |
Oct 27 | The public heads-up table calls the models directly; it doesn’t use the cloud player the backroom seats were cloned from. |
Oct 27 | Copying “the harness” copied only half of it. The seats got the new answer reader but not the new instructions, hand facts or stated reasons. Nobody noticed until we read the code side by side. |
Oct 27 | The public Dealer drops the odd chip of a split pot. Found while writing the chip check. |
Oct 27 | The public table picks game numbers at random, so two games can collide. The tournament uses its own block, checked first. |
Oct 27 | A deploy “failed” after the laptop slept. AWS showed nothing had changed, and a second try went 8 of 8. Ask AWS, not the terminal. |
Oct 27 | Longer instructions cost every seat about eight times the input tokens: about 1,200 per decision instead of 150. |
Oct 28 | One seat writes its reasoning as plain text around the answer, about one move in six. The reader still finds the answer, so it costs the seat nothing at the table; it’s counted as a format fix. (In practice all three came in one hand; the pilot showed it’s a habit.) |
Oct 28 | That same hand was most of that seat’s −152 in practice: two pair, called down against a bot that re-raised every street. One hand can swing a 20-hand result from even to −150. |
Oct 28 | The house bot once tried to raise against an opponent who was already all-in. The Dealer played it as a call. The same rules stand in for any seat on a fallback, so a fallback can need correcting too. |
Oct 28 | Raise wars multiply decisions. The thinking seat made 9 of its 25 practice decisions in one hand, about two minutes of thinking. Cost per hand depends on how many moves a hand takes, not just tokens per move. |
Oct 28 | Even an easy call (“suited low, call”) took the thinking seat 480 tokens. The one-line reasons all seats give are summaries, not the reasoning. |
Oct 28 | The runner labeled the house bot’s corrections as the model’s. No seat was charged, but the label was wrong. Fixed in runner version bt2. |
Oct 28 | A “permission denied” was a file path pasted into the terminal by itself, which asks Linux to run a log file as a program. The file was fine. Read an error for what was attempted, not just what failed. |
Oct 28 | A pasted copy of the runner came out one byte short: the newline at the very end. The checksum caught it, and the code itself was intact. |
Oct 28 | Starting the pilot on the 1 GB server made it stop answering logins, twice. It was already deep in swap, and the VS Code server alone uses about 1 GB. The pilot itself finished untouched. A plain SSH terminal, with VS Code closed, worked fine. A bigger server (2 GB) is now part of what the tournament costs. |
Oct 28 | One seat folded once when checking was free: a pure mistake, since folding when you can check costs you the pot for nothing. The harness turned it into a check and logged it. |
Oct 28 | The AWS bill can unblind you. Breaking spend down by usage type, or by agent, shows model and company names. Next to the token counts by letter, that can point to which letter is which. Kevin’s call; noted as one more leak in the blind (12). |
Oct 28 | The server was a t2.micro, and the console wouldn’t offer t3: moving families needs a driver setting (ENA) first. It went to t2.medium (4 GB, about $34 a month, up from about $8). Every service came back on its own after the restart; only the heads-up table needed a click. See Dialog 7. |
Oct 28 | The tournament started at about 7:41 pm: ten matches, 100 hands each way, games 996101–996120, run by one script that stops if any match fails. |
Oct 28 | A person needs about an hour to play 100 hands (Kevin is mentally spent afterwards); two fast seats play 100 hands in about ten minutes and don’t tire. A skilled person’s attention is the most expensive resource in the project. Use people to find problems, machines to measure fixes (Dialog 9). |
Oct 29 | 614 flags sound like a crisis. Sorted, they were five patterns: one seat’s prose around its answers (348), another’s free folds (160), 20 replies cut off at the limit, 8 impossible checks, and 36 AWS retries. Sort before you read; then read every one. |
Oct 29 | The fallback asked to raise when the seat had exactly enough chips to call. The harness played a call, so the chips came out the same. The stand-in still doesn’t check whether a raise is possible. |
Oct 29 | A false alarm: a 200-chip hand was logged with a “net” of 7. The field is the running total for the game, not the hand’s change. The data was right; the check was wrong. |
Oct 29 | Cost Explorer counts in UTC days, so “Oct 29” began at 6 pm Mountain the night before. And Anthropic’s models on Bedrock bill as separate “Amazon Bedrock Edition” lines, not under Bedrock. Miss either and the bill looks wrong. |
Oct 29 | The full backup to R2 had never included the backroom folder. Added in one word. The sealed key’s fingerprint was then taken straight from inside the backup without opening the key, and it matched the published one. |
Oct 29 | Game Review labels a hand by the final cards when someone folds on the river, so a player who folds the better hand there is shown as the winner. The chips are right. The public table records hands the same way; to fix in both. |
Oct 29 | On a quiet morning the 4 GB server used 1.7 GB plus 840 MB of swap, about 2.5 GB before VS Code. It stays on t2.medium for now. |
Oct 29 | “How did the new Dealer Agent do?” The answer was that no Dealer Agent dealt: the Sep 19 agent was never deployed, and plain code ran the table (diversion 21). The question still led somewhere useful, because the Dealer was the one piece nobody had reviewed. |
Oct 29 | A chip check proves conservation, not correctness. Every hand balanced, yet nothing had confirmed the right player won a showdown. Those are two separate questions. |
| Oct 29 | The odd-chip fix written for the tournament can’t fire heads-up: a showdown pot between two players is always even. A fix can be right and still not matter. |
|---|---|
Oct 29 | The Chromebook saved the audit script as dealer_audit (1).py, so the copy failed with “No such file.” find ~ -iname "*dealer_audit*" found it, and quoting the name copied it across. The fingerprint matched on the server. |
Oct 29 | Test the checker before you trust it. The audit was run on made-up logs with five planted Dealer bugs first; a check that has never failed hasn’t proven it can. |
Oct 29 | Too many steps at once loses the person running them. The audit went smoothly once it was one command, one result, then the next. |
Open decisions
| DECISION | WHERE IT STANDS |
|---|---|
| Pilot pairing | Done Oct 28: A–B, 50 hands each way, clean. About two moves per seat per hand. |
| If the thinking seat keeps hitting the limit | Decided Oct 28: the limit stays at 2,048. A seat that isn’t cost-effective is discontinued instead. |
| What “cost-effective” means | Applied Oct 29, exactly as written on Oct 28. Verdicts by letter in Dialog 10. |
| Hands per match | Decided Oct 28: 100 hands each way, 200 per match, 800 per seat. About six to seven hours for all ten matches. |
| Keep the thinking | Open: save a thinking model’s reasoning in its own field (15), before bot 2.0 or the play page. |
| Deploy the Dealer Agent | Future (Oct 29): the Sep 19 MCP Dealer stays undeployed for now. When it is deployed, it gets the same audit before it deals a scored hand. |
| River-fold labels | Open: fix how Game Review labels a fold on the river, in both the backroom and public loaders. |
| A spending stop | The runner can already stop after the current hand. Still to decide: a stop that triggers at a dollar limit. |
| Publishing the results | Leaning (Oct 28): keep results by letter as an internal review, and let people play A–E on a page with a cost meter. If so, the sealed key may never be opened; its fingerprint still proves the letters were fixed before play. Oct 29: Dialog 10’s cost table names the letters for anyone with the price list, so it goes behind the site lock. |
| Server size | Done Oct 28: t2.micro to t2.medium, 4 GB. Decided Oct 29: stay on t2.medium (about 2.5 GB in use); revisit after bot 2.0 and the play page. The server costs about twice what all the tournament’s AI play did. |
Before any result is published
☑ Runner bt2: a separate pilot label, house bot corrections labeled correctly, cost per hand in the report. ☑ Read every flagged correction by hand. (Practice flags Oct 28; all 614 tournament flags Oct 29.)
☑ Confirm whether the thinking seat’s reasoning is logged (15). Answered Oct 29: it isn’t.
☑ Back up the sealed key and its fingerprint. Oct 29: server, Chromebook and R2, fingerprint checked in each. ☐ Check the public report and decision table for any model name the scrubber missed. (Oct 29: one game’s decision reasons in Game Review checked clean; the full scan is still to do.)
☑ Write the verdicts by letter first. (Done Oct 29, Dialog 10.)
☑ Audit the Dealer: same decks both passes, right winners, no hidden cards shown. (Oct 29, 2:03 pm: all clean.) ☐ Open the sealed key last, and show it matches the fingerprint below.
The sealed key’s fingerprint, published before the first tournament hand:
6e7c04d96cffec6d7c7d65aa20281a77f36b1930eb844cf3c2c3222b10c456b7
Sources: every tournament number on this page comes from Kevin’s server and AWS account, October 27–28, 2026, read off the screen during the sessions recorded in the Dialogs. Per-token prices are published on-demand Bedrock rates for us-east-1 as listed by CloudZero (captured Aug 24, 2026), InferenceHub and CloudPrice, checked Oct 28, 2026; they are to be confirmed against AWS’s own pricing page before the dollars-by-letter script uses them. All five were confirmed on AWS’s own Bedrock pricing page on Oct 29, 2026, before the script ran. Tournament figures from Oct 29 come from the runner’s logs, AWS Cost Explorer and Game Review. The Dealer audit comes from dealer_audit.py (fingerprint beginning 7c786286), run on the server against data/logs at 2:03 pm Mountain on Oct 29. The fairness plan comes from Dialog 5; the reply-limit change and the sealed key from Dialog 6.
Written by Claudette, the pen name for Claude, the AI from Anthropic that helped build HoldemRobots.AI, with Kevin Swinson. A living record: entries are added and dated as the tournament runs, and nothing is removed without saying so. Current as of 2:10 pm Mountain time, October 29, 2026; the tournament has been played and reviewed by letter, and the Dealer has been audited; the sealed key has not been opened. Server addresses, account numbers and keys are left out on purpose. The fingerprint is published on purpose. No money is played, ever.