Teknium
c0667439ec
fix(compression): rotation heals stale automatic ended_at stamps instead of wedging ( #88197 )
...
TUI server shutdown stamps ended_at/end_reason='tui_shutdown' on sessions
whose agent keeps running; every rotation then aborts at
publish_compression_child's liveness check forever (the #88197 wedge; the
amplification half was fixed by #88411 ).
Class fix: is_automatic_end_reason() in hermes_state_common owns the
"accidental infrastructure cleanup vs deliberate boundary" taxonomy.
publish_compression_child clears automatic stamps in its own transaction
and proceeds (parent re-closes with its TRUE boundary,
end_reason='compression'); the #88411 pre-flush guard no longer aborts on
stamps the publish can heal. Deliberate boundaries (compression,
session_reset, explicit close) still fail closed at both sites.
TEST REPIN (deliberate contract change):
test_ended_parent_aborts_before_the_prepublish_flush pinned
"tui_shutdown stamp => rotation aborts and parent must not grow" — the
abort it required IS the #88197 wedge. Repinned as two tests:
- test_automatic_stamp_no_longer_wedges_rotation: automatic stamp =>
rotation COMMITS (no abort loop, so no growth-by-abort is possible);
- test_deliberately_ended_parent_aborts_before_the_prepublish_flush:
session_reset (deliberate boundary) => still aborts BEFORE the #47202
flush, preserving #88411 's no-growth contract where an abort remains
correct.
The class invariant "no aborted rotation grows the parent" holds
everywhere: automatic stamps no longer produce aborts, deliberate
boundaries still abort pre-flush.
2026-08-31 09:58:11 -07:00
..
2026-08-25 01:48:43 +05:30
2026-08-29 21:58:00 +05:30
2026-08-28 07:51:16 -07:00
2026-08-26 10:10:11 -07:00
2026-08-26 10:10:11 -07:00
2026-08-29 18:34:35 -07:00
2026-08-14 21:54:56 -07:00
2026-08-29 18:34:35 -07:00
2026-08-29 18:34:35 -07:00
2026-08-29 18:34:35 -07:00
2026-08-29 18:34:35 -07:00
2026-08-14 21:27:05 -07:00
2026-08-15 00:34:29 -07:00
2026-08-29 18:34:35 -07:00
2026-08-18 20:34:46 -04:00
2026-08-20 12:29:11 -05:00
2026-08-29 18:34:35 -07:00
2026-08-23 02:54:30 -07:00
2026-08-16 19:53:07 -07:00
2026-08-29 11:08:11 +05:30
2026-08-29 18:34:35 -07:00
2026-08-24 20:11:18 -07:00
2026-08-26 10:10:11 -07:00
2026-08-16 10:27:52 -07:00
2026-08-29 11:33:05 +05:30
2026-08-22 19:30:10 -07:00
2026-08-16 01:55:00 -07:00
2026-08-14 21:54:56 -07:00
2026-08-14 13:56:58 -07:00
2026-08-20 20:20:23 -07:00
2026-08-15 01:04:19 -07:00
2026-08-15 01:04:19 -07:00
2026-08-24 11:25:04 -07:00
2026-08-24 21:46:05 -07:00
2026-08-28 04:58:14 -07:00
2026-08-23 19:02:30 -07:00
2026-08-24 11:25:04 -07:00
2026-08-15 03:16:21 -07:00
2026-08-23 18:27:07 -07:00
2026-08-26 21:38:20 -07:00
2026-08-30 19:46:21 -07:00
2026-08-23 18:27:07 -07:00
2026-08-30 19:46:21 -07:00
2026-08-30 09:03:57 -07:00
2026-08-28 12:38:49 +05:30
2026-08-31 14:09:42 +05:30
2026-08-30 19:46:21 -07:00
2026-08-31 09:58:11 -07:00
2026-08-26 07:16:04 -07:00
2026-08-31 14:09:42 +05:30
2026-08-28 02:29:27 +05:30
2026-08-30 19:46:21 -07:00
2026-08-28 06:32:43 -07:00
2026-08-23 15:03:29 +05:30
2026-08-23 18:27:07 -07:00
2026-08-26 07:16:04 -07:00
2026-08-14 01:08:13 -07:00
2026-08-30 19:46:21 -07:00
2026-08-24 04:14:26 +05:30
2026-08-16 06:31:46 -07:00
2026-08-29 18:34:35 -07:00
2026-08-29 18:34:35 -07:00
2026-08-29 18:34:35 -07:00
2026-08-23 20:01:18 -07:00
2026-08-14 21:54:56 -07:00
2026-08-29 18:34:35 -07:00
2026-08-22 04:20:48 +05:30
2026-08-16 22:06:41 -07:00
2026-08-29 19:14:15 -07:00
2026-08-23 20:01:18 -07:00
2026-08-14 16:37:36 -07:00
2026-08-27 17:22:02 +05:30
2026-08-16 22:06:08 -07:00
2026-08-15 01:04:19 -07:00
2026-08-28 03:46:24 -07:00
2026-08-23 18:43:12 -07:00
2026-08-30 20:40:43 -07:00
2026-08-28 13:05:06 +05:30
2026-08-28 06:36:22 -07:00
2026-08-27 21:07:21 +05:30
2026-08-29 02:30:44 -07:00
2026-08-16 02:01:41 -07:00
2026-08-28 12:15:24 -07:00
2026-08-23 18:25:19 -07:00
2026-08-30 09:03:57 -07:00
2026-08-29 12:06:48 +05:30
2026-08-23 13:34:32 +05:30
2026-08-19 22:41:05 -07:00
2026-08-24 21:45:30 -07:00
2026-08-15 01:04:19 -07:00
2026-08-20 00:03:50 +05:30
2026-08-17 12:58:51 -07:00
2026-08-17 12:58:51 -07:00
2026-08-14 22:04:16 -07:00
2026-08-14 21:36:41 -07:00
2026-08-19 13:56:11 -05:00
2026-08-24 03:20:57 -07:00
2026-08-23 02:14:35 -07:00
2026-08-30 05:15:46 -07:00
2026-08-29 05:02:54 -07:00
2026-08-28 23:38:59 -05:00
2026-08-15 00:33:01 -07:00
2026-08-24 20:25:10 -07:00
2026-08-29 19:14:15 -07:00
2026-08-25 12:59:29 -07:00
2026-08-30 01:20:27 -07:00
2026-08-31 09:57:22 -07:00
2026-08-23 17:47:50 -07:00
2026-08-25 12:59:29 -07:00
2026-08-17 14:06:16 -07:00
2026-08-29 06:37:06 -07:00
2026-08-29 11:33:05 +05:30
2026-08-29 11:33:05 +05:30
2026-08-29 12:23:41 +05:30
2026-08-26 10:10:11 -07:00
2026-08-19 22:56:04 -07:00
2026-08-19 16:04:22 -07:00
2026-08-27 03:24:20 -07:00
2026-08-22 16:47:39 +02:00
2026-08-19 22:11:13 -04:00
2026-08-19 08:52:03 -07:00
2026-08-19 08:52:03 -07:00
2026-08-15 00:33:01 -07:00
2026-08-19 09:14:12 -07:00
2026-08-19 08:52:01 -07:00
2026-08-16 01:55:51 -07:00
2026-08-23 19:04:37 -07:00
2026-08-19 16:32:17 -07:00
2026-08-20 11:36:54 +05:30
2026-08-23 20:00:30 -07:00
2026-08-21 13:21:46 +10:00
2026-08-16 11:32:02 -07:00
2026-08-23 13:34:32 +05:30
2026-08-15 23:03:52 -07:00
2026-08-29 08:23:47 -07:00
2026-08-30 01:24:14 -07:00
2026-08-30 04:53:39 -07:00
2026-08-29 20:39:04 -07:00
2026-08-16 06:24:56 -07:00
2026-08-29 02:30:44 -07:00
2026-08-21 13:24:43 +05:30
2026-08-14 14:15:42 -07:00
2026-08-25 02:45:10 -07:00
2026-08-18 20:34:46 -04:00
2026-08-23 18:25:19 -07:00
2026-08-27 16:13:45 +05:30
2026-08-16 22:07:43 -07:00
2026-08-29 19:13:00 -07:00
2026-08-29 11:33:05 +05:30
2026-08-30 01:20:27 -07:00
2026-08-24 20:10:44 -07:00
2026-08-15 00:33:01 -07:00
2026-08-16 22:10:02 -07:00
2026-08-23 18:24:43 -07:00
2026-08-14 21:41:26 -07:00
2026-08-25 01:34:56 +05:30
2026-08-15 01:04:19 -07:00
2026-08-29 11:33:05 +05:30
2026-08-16 01:56:18 -07:00
2026-08-28 03:46:24 -07:00
2026-08-20 12:35:20 +05:30
2026-08-28 07:51:31 -07:00
2026-08-24 03:23:07 -07:00
2026-08-16 00:14:58 -07:00
2026-08-29 12:33:44 +05:30
2026-08-22 16:07:12 +05:30