Teknium
cc4b5ba1fc
feat(bot-mode): replay pages carry authority lineage; pin byte-bounded replay
...
Follow-ups on top of the salvaged #97712 foundation:
- read_events() pages now include the room's authority stamp
(authority.gateway_id + authority.epoch), so a replicating participant
can persist lineage with every page and a future takeover layer can
fence stale authorities from replayed state alone.
- New regression test proves the replay page bound counts UTF-8 BYTES,
not characters: sabotaging LENGTH(CAST(.. AS BLOB)) back to
LENGTH(TEXT) and dropping the .encode('utf-8') guard fails the test;
the pre-existing multibyte test passed under that sabotage.
- _raise_room_not_found typed NoReturn so narrowing survives closures.
2026-08-30 19:46:14 -07:00
..
2026-08-23 17:45:47 -05:00
2026-08-30 09:03:57 -07:00
2026-08-20 11:46:30 -05:00
2026-08-29 18:34:51 -07:00
2026-08-26 00:54:36 -07:00
2026-08-24 15:54:23 +05:30
2026-08-29 20:08:53 -07:00
2026-08-26 07:28:10 -07:00
2026-08-24 21:21:34 -07:00
2026-08-15 13:35:32 -07:00
2026-08-30 19:46:14 -07:00
2026-08-30 19:46:14 -07:00
2026-08-27 11:31:59 -05:00
2026-08-26 12:43:17 +05:30
2026-08-28 11:54:33 +05:30
2026-08-30 18:37:50 -07:00
2026-08-29 18:01:25 -07:00
2026-08-20 19:56:01 -07:00
2026-08-30 19:46:11 -07:00
2026-08-30 04:53:39 -07:00
2026-08-29 10:38:53 +05:30
2026-08-30 20:04:40 +05:30
2026-08-30 19:46:14 -07:00
2026-08-19 12:41:45 -05:00
2026-08-29 18:34:35 -07:00
2026-08-24 15:37:22 +05:30
2026-08-24 03:21:07 -07:00
2026-08-24 03:21:07 -07:00
2026-08-16 01:50:20 -07:00
2026-08-23 17:01:31 -07:00
2026-08-23 06:36:57 -07:00
2026-08-30 01:20:27 -07:00
2026-08-30 01:20:27 -07:00
2026-08-16 12:20:50 +02:00
2026-08-17 16:34:02 -07:00
2026-08-20 04:54:14 -07:00
2026-08-26 18:23:33 -07:00
2026-08-20 19:56:28 -07:00
2026-08-26 18:23:33 -07:00
2026-08-14 15:41:38 -05:00
2026-08-28 05:45:00 -07:00
2026-08-28 12:20:40 -07:00
2026-08-16 06:29:53 -07:00
2026-08-27 13:48:51 -07:00
2026-08-25 10:54:42 +10:00
2026-08-15 23:37:22 -07:00
2026-08-23 19:31:35 -07:00
2026-08-29 18:34:35 -07:00
2026-08-14 21:35:30 -07:00
2026-08-23 18:27:21 -07:00
2026-08-14 22:33:58 -07:00
2026-08-14 21:58:09 -07:00
2026-08-14 21:58:09 -07:00
2026-08-14 21:58:09 -07:00
2026-08-16 11:34:40 -07:00
2026-08-28 12:36:15 -07:00
2026-08-14 21:58:09 -07:00
2026-08-27 07:52:26 -07:00
2026-08-27 07:52:26 -07:00
2026-08-17 02:40:59 -07:00
2026-08-15 01:55:22 -07:00
2026-08-23 19:15:28 -07:00
2026-08-16 23:26:10 -07:00
2026-08-23 13:34:32 +05:30
2026-08-14 21:36:41 -07:00
2026-08-20 11:37:01 +05:30
2026-08-14 21:45:08 -07:00
2026-08-14 21:50:48 -07:00
2026-08-17 15:12:53 -05:00
2026-08-17 16:39:47 -07:00
2026-08-14 13:51:26 -07:00
2026-08-14 13:51:26 -07:00
2026-08-16 20:43:13 -07:00
2026-08-25 23:15:49 -07:00
2026-08-21 21:53:11 +05:30
2026-08-27 13:48:51 -07:00
2026-08-23 02:55:03 +05:30
2026-08-22 04:02:29 +05:30
2026-08-15 02:22:58 -07:00
2026-08-22 14:33:20 +05:30
2026-08-23 18:25:12 -07:00
2026-08-23 20:01:41 -07:00
2026-08-23 18:25:12 -07:00
2026-08-27 07:52:26 -07:00
2026-08-29 19:19:40 -07:00
2026-08-15 00:36:03 -07:00
2026-08-27 11:26:57 +05:30
2026-08-16 06:26:37 -07:00
2026-08-29 19:12:24 -07:00
2026-08-24 04:01:53 -07:00
2026-08-14 12:02:05 -04:00
2026-08-23 17:43:39 -07:00