docs(rust): phase 17 as built and walked — protocol 12, D144 (PLAN §33.5-§33.7, M19)

- PLAN.md §33.5 as built (D144: the plugin keeps its titles on disk, after
  the walk found a hot reload emptied them), §33.6 the walk on both rigs,
  §33.7 findings; the phase row marked built.
- PROTOCOL.md §18: titles.set, a group's BetterChat style on perm.sync,
  chat.say delivery and format, integrations, rg.titles, POST /titles. The
  header's current version moves from a stale 10 to 12.
- PLAYER_WALK.md: the steps that need a person in the game.
- android/PLAN.md M19 as built.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
This commit is contained in:
2026-09-25 18:25:43 -05:00
parent a16e6b6f22
commit a5d918207b
4 changed files with 281 additions and 4 deletions

View File

@@ -1619,8 +1619,13 @@ push, and Play (M6–M8) follow the designed app.
Excluded: editing the schedule, which is operator configuration.
20. **M19 — chat titles on a Rust leaderboard** (post-v1; planned 2026-09-25,
`feat/rust-phase-17-titles` into `edge`). `module-rust` phase 17. **Design of record:
20. **M19 — chat titles on a Rust leaderboard** (post-v1; planned 2026-09-25, **built and walked
2026-09-25**, `feat/rust-phase-17-titles` into `edge`). `module-rust` phase 17. As built:
`RustLeaderboardRowDto.titles` (default empty) and `RustTitleDto`; `titleArgb()` and
`titleInkIsDark()` in `RustFormat.kt`, the website's `contrastInk` rule; chips in a `FlowRow`
**under** the name, because the name column is too narrow beside it. Walked on the emulator
against the phase-17 module (`modules/rust/PLAN.md` §33.6). The older-module case is a DTO test:
the standing core was in maintenance and was not changed. **Design of record:
[`../modules/rust/PLAN.md`](../modules/rust/PLAN.md) §33**, D135–D137. The phase is mostly
in-game BetterChat work. The app's part is one field.