pokerbotdownload/ engineering notes Reach the release engineer
Engineering Notes  /  Overview
Last reviewed 2026-06-04  ·  v2026.23

What "release" means when nothing ships to the public

We've shipped private poker bot binaries to operator clients since 2019. There is no public download on this site, and there won't be. What lives here is the engineering pattern behind that work — release cadence, how we tag, what we test, what we rollback. It's the kind of page we wish other teams in this space wrote, and that we can hand to a prospective operator instead of repeating ourselves on every intake call.

Who we are, in two sentences

We're a small team — engineers, an operations lead, one legal contact — that builds poker bot binaries on contract for operator clients. We don't run a public product, we don't sell a self-serve license, and we don't host a "download page" because the artifact on the other side of that page would be the wrong artifact for any specific operator's table mix, locale, and detection posture.

The three-week cadence we converged on

Our release cycle has converged on a three-week cadence — fast enough to react to detection changes, slow enough that we're not shipping our own bugs into production rooms. We tried weekly in 2021, and we burned out the regression bench. We tried six-weekly in 2022, and we shipped one release into a platform policy change that had moved a fortnight earlier. Three weeks is the boring answer that survived two years of contact with reality.

Inside that window we run:

How we version a private binary

Tags look like v2026.23-c{client_id}-{posture_hash}. The base train is calendar-versioned by ISO week, which makes the cadence visible to the client without anyone pretending the version number signals SemVer compatibility — there is no public API to be compatible with. The per-client suffix is what actually ships. Two clients on the same train can hold different binaries because their table mix, locale, or detection-vendor exposure differs.

TagTrainScopeStatus
v2026.23CurrentDetection posture refresh — three vendors retunedShipping
v2026.20PatchHand-history parser fix on one client mixClosed
v2026.17FeaturePer-opponent profile cache rewriteClosed
v2026.14CoreDecision engine refactor; rollback tested twiceClosed
v2026.11Hotfix48-hour reaction to a platform policy changeClosed

What we've learned the expensive way

An unannounced policy change at the platform we ship into can invalidate a release in 48 hours. So our pipeline assumes we can rebuild and re-ship inside a workday — every train is built from a pinned environment we can stand up from scratch, and the rollback artifact is signed before the new one goes out. We've used the rollback path four times in three years; twice it was our bug, twice it was a platform-side change we had to back away from before the policy stabilized.

The other thing we learned: a "release" that goes to every client at once is a release we can't unship. We stage. The first operator on a new train is one we've worked with for years and who has agreed to be a canary. If their table mix shows nothing for 72 hours, the train moves out to the next tier. If it shows something, the train stops, and nobody after the canary ever sees it.

Why none of this is a public download

People who land on a domain called "pokerbot download" are usually looking for a binary they can grab. We don't have one to give. A binary that runs against one operator's tables is the wrong binary for another's — different table size, different locale, different anti-bot vendor, different legal exposure. A public download forces every one of those choices into a single artifact, and the artifact that results is either useless or unsafe. We wrote a longer note on that decision at /no-public-binaries.

What we do publish, here, is the pattern. If you're an operator and the pattern looks like something you'd want to engage on, the contact below reaches the release engineer on rotation — not a sales inbox.

One adjacent open-source project worth pointing at, for readers who want a public-side reference: the poker bot download page on SourceForge mirrors a community research build. It is not our pipeline, not our binary, and not part of any private engagement we run — but it is the closest public artifact in this space if you want to read code rather than read about it.

Looking at a client engagement?

One contact, one engineer. We'll tell you upfront whether your room mix is something we'd take on, or whether we'd point you elsewhere.

Reach the release engineer