fix: scope a session's "her notes" to its own time window
The HUD's notes list filtered journal/note entries by `created_at >= started_at` with no upper bound, so a *closed* session kept absorbing every note she wrote afterward — a session from last Saturday would show a note jotted 25 minutes ago. Cap the window at `ended_at` for closed sessions; live sessions (no end yet) stay open-ended as before. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -18,6 +18,27 @@ def lyra(tmp_path, monkeypatch):
|
||||
return poker
|
||||
|
||||
|
||||
def test_hud_notes_scoped_to_session_window(lyra):
|
||||
poker = lyra
|
||||
from lyra import memory
|
||||
sid = poker.start_session(venue="Meadows", stakes="1/3", buy_in=300)
|
||||
s = poker.get_session(sid)
|
||||
started = s["started_at"]
|
||||
# A note written mid-session (>= started, before it ends) belongs to it.
|
||||
conn = memory._connection()
|
||||
with conn:
|
||||
conn.execute("INSERT INTO journal (created_at, kind, content) VALUES (?,?,?)",
|
||||
(started, "note", "villain 3 overfolds turn"))
|
||||
poker.end_session(cash_out=540, session_id=sid)
|
||||
# A note written well after the session closed must NOT show up on it.
|
||||
with conn:
|
||||
conn.execute("INSERT INTO journal (created_at, kind, content) VALUES (?,?,?)",
|
||||
("2999-01-01T00:00:00+00:00", "note", "thought from the far future"))
|
||||
contents = [n["content"] for n in poker.hud(sid)["notes"]]
|
||||
assert "villain 3 overfolds turn" in contents # inside the window
|
||||
assert "thought from the far future" not in contents # after ended_at
|
||||
|
||||
|
||||
def test_session_lifecycle_and_net(lyra):
|
||||
poker = lyra
|
||||
sid = poker.start_session(venue="Meadows", stakes="1/3", buy_in=400)
|
||||
|
||||
Reference in New Issue
Block a user