# Poker blind increases: reproducible posting schedule

Original educational example by GTO Gecko, created September 7, 2026. Article: https://gtogecko.com/blog/poker-blind-increases

Question: can equal present stack/BB/M measurements leave different seats with different scheduled posts over the next few hands? Yes: the chronological seat and level assignments matter. This is gross compulsory-post arithmetic, not a forecast of losses, a survival clock, ICM or FGS.

## Download and run

Put these six files in one folder:

- [schedule.json](https://gtogecko.com/data/poker-blind-increases/schedule.json)
- [generate.py](https://gtogecko.com/data/poker-blind-increases/generate.py)
- [verify.py](https://gtogecko.com/data/poker-blind-increases/verify.py)
- [results.json](https://gtogecko.com/data/poker-blind-increases/results.json)
- [posts.csv](https://gtogecko.com/data/poker-blind-increases/posts.csv)
- [summary.csv](https://gtogecko.com/data/poker-blind-increases/summary.csv)

Python 3.10 or newer; standard library only. From that folder run:

```text
python verify.py
python generate.py
python verify.py
python -O verify.py
```

The first command checks the downloaded originals. The generator overwrites results.json, posts.csv and summary.csv; regeneration of the unmodified fixture is byte-identical. The verifier is read-only and independently reconstructs the expected rows using a rotating seat queue, then tests literal expected totals, scaling, rotation and invalid/tampered cases. Validation stays active under Python optimization. It freezes the original teaching fixture; it is not a certificate for an edited real-event schedule.

## Inputs and outputs

The published input has six occupied seats A–F clockwise, first button A, six displayed hands and seven alternative first-higher-level hands (1–7 inclusive). Low level: SB 500 / BB 1,000 / BBA 1,000. High: SB 1,000 / BB 2,000 / BBA 2,000. Main example changes on hand 3. Boundary 7 means no increase within the six displayed hands.

Each schedule contains six hands with six seat rows per hand: seven schedules × six hands × six seats = 252 seat-hand rows. The summaries contain seven schedules × six seats = 42 rows. The alternatives carry no probabilities. No actual hand histories, random samples, seed, private data or app output are used.

All numeric chip amounts are exact integers. A row separates small_blind, big_blind and big_blind_ante; post is their sum, cumulative is that seat's running gross total within that alternative schedule. The button and role fields let readers audit positional order. BTN means button; '-' means no blind/button role. A zero post does not mean no voluntary action or winnings.

summary.csv gives first_three_posts (all available hands up to hand 3) and all_hand_posts (entire declared horizon). Article main C/E first-three totals: 2,500 / 4,000. Change boundary to 4: 2,500 / 2,000. Main six-hand totals in A–F order: 5,000, 4,500, 2,500, 3,000, 5,000, 5,000. Their sum 25,000 equals two low-level table posts of 2,500 plus four high-level table posts of 5,000. With the old level throughout, each seat pays 2,500 in one full rotation.

The generator accepts 3–9 distinct fixed seats, an integer 1–100 hand horizon, integer nonnegative BBA, positive blinds with SB ≤ BB, and one or more boundaries 1 through horizon + 1. Higher amounts may stay equal but may not decrease. This supports separate educational experiments; keep an untouched original folder for verification. The schema stores no clock times, starting stacks or payoff model. Neither generator nor verifier converts seconds to a number of hands.

## Scope and evidence

Every seat remains occupied, seating stays fixed, button movement is one clockwise seat per hand, and all obligations are paid in full. No card play, voluntary bets, pot receipts, chip balances, eliminations, moves, dead-button transition, partial all-in posts, heads-up procedure, per-player ante, disputes, payout equity or strategy is modeled. Being able to schedule an amount does not prove a future player can pay it. Reconstruct any changed procedure separately.

The declared boundary is an assumption, not a prediction from a live timer. Current primary sources were accessed September 7, 2026:

- [Poker TDA 2024 v1.0, Rule 23](https://www.pokertda.com/view-poker-tda-rules/): level-change and hand-start boundary; event exceptions remain authoritative.
- [PokerStars Hold'em rules](https://www.pokerstars.com/poker/games/texas-holdem/): ordinary SB/BB order.
- [WSOP original BBA explanation](https://www.wsop.com/news/big-blind-ante-coming-to-2018-wsop/): live blind versus dead ante, not a claim about every current event's schedule.
- [ICMIZER FGS explanation](https://support.icmpoker.com/en/articles/3699976-what-is-the-fgs-model): future blind/position context; this ledger is not FGS.

## Visuals and integrity

[timeline.svg](https://gtogecko.com/data/poker-blind-increases/timeline.svg) displays only the main first-three-hand C/E rows. The adjacent article table supplies the complete six-hand trace. [hero-source.svg](https://gtogecko.com/data/poker-blind-increases/hero-source.svg) is the original native hero source. Both are original owned vector assets; no third-party art or app screenshots. [SHA256SUMS](https://gtogecko.com/data/poker-blind-increases/SHA256SUMS) contains raw-byte hashes for every other file in this folder. Files use UTF-8 and LF newlines.
