Persist cross-session coach history

This commit is contained in:
Jay
2026-07-26 19:04:29 -04:00
parent 369b1f59d4
commit 1ec3dd1276
7 changed files with 511 additions and 9 deletions
+9
View File
@@ -68,6 +68,11 @@ export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home"
structurally separate from post-flop equity fields; inapplicable values are
null. The production coach explains these values; it does not reconstruct
hidden bot logic.
8. **Persist aggregates, not surveillance.** Player history stores the schema
version, setup preference, session/hand counts, baseline agreement, and stable
review-category counters. It never stores hole cards, boards, opponents, or
raw action histories. Storage mutations are serialised because hand completion
and coach analysis run on different coroutines.
## Testing notes
@@ -134,6 +139,10 @@ export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home"
table state but no opponent hole cards. Post-flop equity is explicitly labelled
as an estimate against unknown random hands; disagreement is "worth reviewing,"
never declared solver proof of a mistake.
- Versioned player history survives process restarts in a small aggregate
`SharedPreferences` store. The setup screen restores the last player/coach
preference and shows cross-session agreement/review trends only after at least
ten coached decisions; smaller samples are labelled as insufficient.
- Gradle emits an `archives` deprecation from the Kotlin Multiplatform plugin's
own `jvm()` target registration — upstream in Kotlin 2.2.10, not our build.
- Not built yet: LLM persona layer.