Owen Lin
69cebb5d15
Route rollout reads through the canonical JSON decoder ( #42378 )
...
## Why
Directly deserializing the flattened `RolloutLine` envelope can reject nested
decimal values, preventing affected paginated sessions from resuming.
## What changed
- Add canonical string, byte, and reverse-scanner helpers that decode rollout
records through `serde_json::Value` before decoding the flattened item.
- Route rollout readers across session discovery, history, migration, search,
thread storage, and transcript previews through those helpers.
- Remove `Deserialize` from `RolloutLine` so new readers cannot bypass the
canonical persistence decoder.
## Testing
Add coverage that resumes a paginated rollout after a token-count record with
a decimal rate-limit value and verifies that ordinal sequencing continues.
GitOrigin-RevId: 49abac1e0751c073daa5a93a840d8a483fd2d013
2026-09-02 22:45:19 +00:00
..
2026-08-24 22:40:35 +00:00
2026-09-02 17:27:50 +00:00
2026-09-02 22:45:19 +00:00
2026-09-02 04:20:38 +00:00
2026-09-02 22:15:16 +00:00
2026-09-02 22:45:19 +00:00
2026-08-25 03:08:33 +00:00
2026-09-02 21:20:03 +00:00
2026-08-20 08:10:08 +00:00
2026-08-31 13:44:12 +00:00
2026-08-31 13:44:12 +00:00
2026-08-24 21:39:48 +00:00
2026-09-02 21:50:51 +00:00
2026-09-02 22:45:19 +00:00
2026-09-02 20:07:11 +00:00
2026-08-28 19:44:50 +00:00
2026-08-28 19:44:50 +00:00
2026-08-29 02:52:58 +00:00
2026-09-01 17:17:45 +00:00
2026-09-01 01:00:50 +00:00
2026-09-01 01:00:50 +00:00
2026-09-02 21:50:51 +00:00
2026-08-18 23:47:00 +00:00
2026-08-25 21:20:51 +00:00
2026-09-02 21:38:17 +00:00
2026-08-29 02:46:06 +00:00
2026-09-02 18:18:54 +00:00
2026-08-31 21:27:51 +00:00
2026-09-02 01:06:18 +00:00
2026-08-23 18:53:15 +00:00
2026-09-02 22:45:19 +00:00
2026-08-25 21:20:51 +00:00
2026-09-02 18:34:27 +00:00
2026-09-02 22:45:19 +00:00
2026-09-02 21:58:58 +00:00
2026-09-02 21:58:58 +00:00
2026-09-02 18:52:44 +00:00
2026-09-02 15:07:11 +00:00
2026-09-02 22:30:30 +00:00
2026-09-01 16:49:16 +00:00
2026-08-27 20:44:47 +00:00
2026-09-02 03:46:24 +00:00
2026-09-02 18:52:44 +00:00
2026-09-02 22:45:19 +00:00
2026-09-01 18:02:27 +00:00
2026-09-01 15:12:53 +00:00
2026-08-26 23:41:18 +00:00
2026-08-25 21:08:22 +00:00
2026-08-28 01:14:02 +00:00
2026-09-02 21:50:51 +00:00
2026-08-28 01:14:02 +00:00
2026-08-26 14:36:48 +00:00
2026-08-31 22:08:44 +00:00
2026-09-02 21:58:58 +00:00
2026-09-02 21:58:58 +00:00
2026-09-01 17:17:45 +00:00
2026-09-01 18:02:27 +00:00
2026-08-25 15:50:19 +00:00
2026-09-02 21:50:51 +00:00
2026-08-31 19:44:44 +00:00
2026-08-26 17:45:42 +00:00
2026-08-21 16:45:05 +00:00
2026-09-02 21:58:58 +00:00
2026-09-02 22:45:19 +00:00
2026-08-28 01:14:02 +00:00
2026-09-01 22:08:08 +00:00
2026-09-01 18:24:56 +00:00
2026-09-01 17:47:29 +00:00
2026-09-02 15:07:11 +00:00
2026-09-02 18:34:27 +00:00
2026-09-02 18:18:54 +00:00
2026-09-02 22:45:19 +00:00
2026-09-02 02:09:35 +00:00
2026-09-02 22:45:19 +00:00
2026-09-02 18:42:06 +00:00
2026-09-02 18:52:44 +00:00
2026-09-02 19:13:32 +00:00
2026-08-20 14:55:08 +00:00
2026-09-02 22:19:51 +00:00
2026-09-02 22:19:51 +00:00
2026-09-02 21:23:34 +00:00
2026-09-02 22:19:51 +00:00
2026-09-02 19:49:58 +00:00
2026-09-01 16:40:05 +00:00