diff --git a/lyra/poker.py b/lyra/poker.py index 4d881ac..de151f7 100644 --- a/lyra/poker.py +++ b/lyra/poker.py @@ -244,7 +244,15 @@ use "x". Examples: "AA with the ace of spades" -> hero_cards ["As","Ax"]; "AK on board" -> board ["Ax","4x","x"]. Each card is independent: a suit named for one card does \ NOT apply to another — e.g. your hole "ace of spades" is a different card from a board ace \ whose suit is unstated (that board ace is "Ax", not "As"). Use null/omit for non-card \ -details not stated. Stay faithful to what's described — do not invent action that isn't implied.""" +details not stated. Stay faithful to what's described — do not invent action that isn't implied. + +POSITIONS: resolve relative seat references ("N seats to my right/left") into real positions. \ +Action moves clockwise, so a player to your RIGHT acts before you (toward the blinds/button) \ +and a player to your LEFT acts after you (toward UTG). Going RIGHT from a player you pass, in \ +order: SB, BTN, CO, HJ, LJ/MP, UTG+1, UTG. Example: hero in the BB, "a guy 2 seats to my right \ +raises" -> that raiser is on the BTN (1 right = SB, 2 right = BTN). If it's genuinely \ +ambiguous, give the most standard read. Only include players in "players" who are actually \ +mentioned or take action in the hand — do NOT fill in unmentioned empty seats.""" def _safe_json(s: str) -> dict | None: