B7.3.2 · dive 2 of 3 · module B7.3
Charged, then enqueued.
A move is charged on the room’s currency path inside a transaction, and only a committed charge appends the job; the rule is all-pay, paid per attempt regardless of outcome, and the job carries no score and no secret.
The idea
codemojex · charging and enqueueingA move is charged before it is queued, not after it is scored. The reference implementation debits the player’s wallet on the room’s currency path — keys in a paid room, clips in a free one — inside a transaction, and only on a committed charge does it append the guess as a job to the lane. If the charge fails, no job is enqueued and the move did not happen.
This is an all-pay rule: a player pays for every attempt regardless of whether it scores well, or at all. The cost is sunk at submission, which is what funds the bank in a paid room and what discourages a flood of throwaway guesses. The shape is that of an all-pay auction, where every bid is paid and only the standings decide the prize.
The job carries only the branded ids and the guess — the player, the game, the six codes — not a score and not the secret. The surface answers the player at once that the guess was accepted, while the scoring happens behind the boundary. Accepting work and doing work are split, so a burst of guesses is absorbed by the lane rather than blocking the player’s request.
The doors
the sibling coursesEchoMQ — the protocol, in depth
The bus B3 narrates, taught rung by rung: the keyspace, the Lua inventory, and the 3.0 Stream Tier — XADD, XREADGROUP, XACK — with conformance on Valkey.
Redis Patterns Applied
The substrate patterns under the bus: sorted sets, atomic Lua moves, locks, and streams — the judgement layer.
/echo-persistenceEcho Persistence — the durable floor
Beneath the volatile tiers: the Graft page engine built twice, the commit-LSN loop, and the stream archive on Tigris. Where Part I says state lives somewhere, this says where it lives durably.
References
sources · relatedSources
- All-pay auctions — every bid is paid, the standings decide the prizethe charge-per-attempt that funds the bank and curbs throwaway guesses
- Easley & Kleinberg — Networks, Crowds, and Markets, ch. 9the auction framing behind paying for a move regardless of its result
- Kreps — The Log: real-time data’s unifying abstractionthe lane as an append-only log a single consumer drains in order
Related
- BCS — the course homethe law, the id anatomy, the chapter map
- Echo Persistencethe durable floor beneath the bus