Updated

Published

A Hold'em table asks Jev about the opponent and lets code pick the bet

A September 22 post links Jinzhengxu/poker-table and says each action averaged 545 ms and a hand cost $0.002. The README's Jev path is one round trip about the opponent, after a local equity table. A 46-spot bank, three repeats, is described at about one second median. Those two clocks are different measurements.

A post from @bigdicksinapig on September 22 says a Texas Hold’em table now decides with Jev and generates no text for the action. The figures in the post are 545 ms average per action and $0.002 for a hand. The live URL is poker.ccswitch.online. The source link is Jinzhengxu/poker-table, GPL-3.0.

The README’s Jev path runs after a key is configured. The server first builds a five-row equity table locally, any two cards through a top 5% range, in about 100 to 300 ms. Obvious spots, such as a junk hand facing a raise, fold by rule and never call the model. Everything else is one Jev request: which range bucket the opponent is in, whether they fold to each candidate bet size, and a continue-strength probability. Code applies pot odds, an EV per size, and the bot’s persona, and emits fold, call, or raise. The README says that request is about the opponent. The bot’s hole cards and the chat are not in it.

A language model still has work, off that path. After the action is applied it can write a chat line. Between hands it can compress a human’s profile into one sentence that later sits in Jev’s state as a note. If Jev errors, times out, or returns a shape the parser rejects, the older chain runs: the tool-loop agent, then a single-shot language-model call, then the built-in rule policy (Chen preflop, hand category and pot odds after the flop). With no key at all, bots play by those rules and stay quiet. Two routes are named, TypeSafe direct (jev-latest) and OpenRouter (typesafe/jev-1.13). POKER_JEV=off removes the layer. The host can paste a key in the browser. The README says it stays in server memory and is not sent to the other players.

The spot bank is npm run eval:spots -- --mode jev --repeat 3: 46 handwritten spots, typesafe/jev-1.13 through OpenRouter. The README says the range reads were as accurate as the reasoning model’s and 6 to 40 times faster. The median it gives is about one second per decision, against 6 seconds for a single-shot call and 35 seconds for the tool-loop agent. Three passes of the whole bank cost under a cent. It does not print an accuracy percentage. The post’s 545 ms and $0.002 are the live table’s pill, which the README says shows decisions so far, average round trip, and spend. We did not open that page, so the pill and the spot bank stay as two published clocks.

Further down, the README reports big-blind-per-hundred results for a rule-policy harness that changes only the equity assumption. That table is not a Jev score. Guandan, the other card game in the same server, seats rule-based bots and does not describe a Jev call.

jev-rubiks is the nearby split on this desk: a solver in code, and Jev deciding whether to speak. Asking Jev to pick cube turns, forty times, left the distance at 22. Poker keeps the arithmetic in code from the start and spends the Jev call on a read of the other player. We did not play a hand.

This site's reading

Editorial notes evaluating claims against primary sources, contextualizing findings alongside related implementations, and defining technical terms.

Verify

Primary post is @bigdicksinapig, display name 丽丽, September 22, 2026, 14:08 UTC. The post says each action averaged 545 ms, a hand cost $0.002, the live table is https://poker.ccswitch.online, and the source is https://github.com/Jinzhengxu/poker-table. It also says the hand generates no text. The repo is GPL-3.0. Once a Jev key is set, JevDriver computes a local five-row equity table (100 to 300 ms), skips obvious spots with the same rule classifier as the agent, then makes one Jev request: opponent range as a choice, fold-to-bet as a noul for each candidate size, and continue strength as a noul. Code turns that read into fold, call, or raise. The README says Jev does not see the bot's hole cards or the chat. Table talk and a one-line note on each human run on a language model off the decision path. A Jev error falls through agent mode, then a single-shot language-model call, then the rule policy. Routes: TYPESAFE_API_KEY with model jev-latest, or OPENROUTER_API_KEY with model typesafe/jev-1.13. POKER_JEV=off removes the layer. The spot bank command in the README is npm run eval:spots -- --mode jev --repeat 3, 46 handwritten spots, typesafe/jev-1.13 through OpenRouter. It says the range reads matched the reasoning model and were 6 to 40 times faster, with p50 about one second, against 6 seconds for a single-shot call and 35 seconds for the tool-loop agent, and that three passes of the bank cost under a cent. No accuracy percentage is printed for that bank. The bb/100 table later in the README is a rule-policy ablation of range assumptions, not a Jev result. Guandan bots in the same repo are described as rule-based. We did not open the live table, play a hand, or run the spot bank.

Compare

jev-rubiks also splits the work: Kociemba solves in code, and Jev decides whether a coach speaks. That removed turn-picking test left the cube distance at 22. Tetris asks Jev to rank legal landings, about 300 ms in the earlier demo. Poker asks Jev for a read of the opponent and keeps pot odds in code. The post's 545 ms average is the live pill. The README's spot-bank median is about one second. dejevu's flights table is a different loop, one JSON action per page, and does not call Jev in the published rows.

Terms

opponent read
The Jev request in poker-table: a choice over range buckets, a noul for folding to each candidate bet size, and a noul for continue strength. The README says hole cards and chat are not in that request.
spot bank
46 handwritten Hold'em spots in the poker-table repo. The Jev mode repeats them three times through OpenRouter on typesafe/jev-1.13. The README gives a median near one second and does not print an accuracy percentage.

Sources

  1. Post linking poker-table
  2. Jinzhengxu/poker-table
  3. Live table named in the post