From 80519d20b1f596c74503e9fc9c59a3f66e1eb268 Mon Sep 17 00:00:00 2001 From: serversdown Date: Sat, 11 Jul 2026 00:18:44 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20roadmap=20=E2=80=94=20scope=20roster?= =?UTF-8?q?=E2=86=92hand=20resolution=20+=20log=20today's=20ledger=20fixes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds the roster→hand seat/name resolution feature (needs seat+button tracking, so it's a real feature not a fill) and records the 2026-07-11 shipped fixes. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/ROADMAP.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 23c611b..bdbb30a 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -4,7 +4,7 @@ Living doc. Working priorities and open threads, organized by area. Not a spec specs live in `docs/` and `docs/superpowers/specs/`; this is the map of what's done, what's next, and what's parked. -- **Last updated:** 2026-07-10 +- **Last updated:** 2026-07-11 - **Frame (the load-bearing lens):** Lyra is the AI-with-tools (unchanged). The **pokerlog is its own separable system-of-record** — she's a *client* of it via tools, not its container. The logger must be correct/trustworthy first; Lyra's @@ -104,10 +104,22 @@ in-process module sharing `lyra.db` and reaching into `lyra.memory`/`llm`. - ⬜ **Human-editability sweep.** System-of-record must be fixable. Hand editor + disown ✅, `/players` browser + identity queue ✅. Audit for gaps (session-level edits, read edits, bulk fixes). +- ⬜ **Roster → hand seat/name resolution.** When a logged hand references a + *position* (CO, BTN…) that maps to a seated roster player, fill in their name + + link the observation — so "the CO 3-bet me" attaches to TAG without Brian naming + him. The hard part: hand positions ROTATE every hand while the roster tracks + fixed physical seats, so it needs seat-number + button-position tracking per hand + to map position→person (a wrong guess mislabels a villain — worse than blank). + Real feature, not a fill. (Brian's idea, 2026-07-11.) Pairs with the roster + active/seen work above. - Shipped this stretch: scouting desk (proactive recall + nameless-villain identity, all 6 phases), roster seat/unseat/clear, observed-hand fix + hand editor, villain-dup fix, conversation export (+ tool events), session-scoped - notes, no-cache app-shell header. + notes, no-cache app-shell header. **2026-07-11:** guaranteed hand logging + (force + tool-visible history), showdown reads via `analyze_spot` + de-mush, + idempotent hand logging, any-seat straddle capture, hero-stack auto-fill from the + stack log, and turn de-duplication (killed the SSE-stream + blocking-fallback + double execution). ## Parked / longer-horizon