games: the buy-in and the rake each player sees are their own, not the table's
The two-browser pass found it: at a table two humans share, the felt quoted each of them the pair's total. "Bought in for 200" to a player who put in 100, and a session-rake line that climbed on a pot the other one won. Both were table totals the view read straight off the engine — correct while a table had one human, wrong the moment it had two. Fixed along the border it already draws: bought_in is border accounting, so it comes from the viewer's own game_seats.staked; session rake is a within-table event, so it rides a new per-seat Seat.Paid beside the audit's table-total s.Paid. And top-up never grew game_seats.staked, so the storage invariant drifted by every top-up and the felt under-reported the buy-in — it does now. Claude-Session: https://claude.ai/code/session_013M5nD7PgUboJXoDcYHzpuJ
This commit is contained in:
@@ -101,6 +101,7 @@ type Seat struct {
|
||||
Bet int64 `json:"bet"` // put in on this street
|
||||
Total int64 `json:"total"` // put in across this hand
|
||||
Won int64 `json:"won"` // taken out of the pot this hand
|
||||
Paid int64 `json:"paid"` // rake lifted from pots this seat has won, all session
|
||||
State SeatState `json:"state"`
|
||||
Acted bool `json:"acted"` // has chosen to do something this street
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user