Garry Tan and Claude Opus 4.7
5f7fa9771f
test(terminal-agent): runtime tests for ring buffer + replay + alt-screen tracking
...
Companion to browse/test/terminal-agent-detach-reattach.test.ts (static-grep
tripwires) — calls appendToRingBuffer + buildReplayPayload directly to prove
behavioral correctness without spinning up a real Bun.serve listener.
* 11 runtime cases: append + byte counting, oversize eviction with
one-frame floor (the eviction loop guard that prevents an oversized
single frame from emptying the buffer), alt-screen tracking via
canonical xterm CSI ?1049h / CSI ?1049l, trailing-state-wins for
enter+exit pairs inside a single render frame, soft-reset prefix
ordering, optional alt-screen re-enter, payload length math.
* Exports appendToRingBuffer, buildReplayPayload, and the PtySession
interface from terminal-agent.ts (purely for testability — they
were module-private; the change is annotation-only).
* Lease registry sanity check: mint two sessions, verify distinct
sessionIds, both valid simultaneously. Catches future refactors
that accidentally couple lease + ring buffer.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-24 00:19:50 -07:00
..
2026-04-23 10:23:40 -07:00
2026-03-26 11:15:24 -06:00
2026-03-28 08:35:24 -06:00
2026-04-07 00:23:36 -07:00
2026-05-07 20:14:59 -07:00
2026-05-09 08:06:47 -07:00
2026-05-13 12:22:30 -04:00
2026-05-21 21:21:07 -07:00
2026-05-23 19:25:06 -07:00
2026-04-28 20:08:04 -07:00
2026-05-14 21:55:29 -07:00
2026-04-28 20:08:04 -07:00
2026-05-14 21:46:50 -07:00
2026-04-16 13:49:04 -07:00
2026-03-20 12:22:11 -07:00
2026-04-28 20:08:04 -07:00
2026-04-28 20:08:04 -07:00
2026-04-28 20:08:04 -07:00
2026-05-01 07:21:28 -07:00
2026-05-21 21:21:07 -07:00
2026-05-23 23:13:23 -07:00
2026-04-18 23:25:33 +08:00
2026-04-07 00:23:36 -07:00
2026-05-13 12:22:30 -04:00
2026-05-14 21:46:50 -07:00
2026-03-23 22:15:23 -07:00
2026-04-17 00:45:13 -07:00
2026-05-07 20:14:59 -07:00
2026-04-08 00:41:55 -07:00
2026-05-09 08:06:47 -07:00
2026-05-09 08:06:47 -07:00
2026-05-14 21:55:29 -07:00
2026-04-18 23:25:33 +08:00
2026-04-10 17:13:15 -10:00
2026-03-26 11:15:24 -06:00
2026-05-09 08:06:47 -07:00
2026-05-20 07:35:01 -07:00
2026-03-27 00:44:37 -06:00
2026-04-21 21:58:27 -07:00
2026-03-29 23:35:17 -06:00
2026-05-13 13:37:31 -04:00
2026-04-07 00:23:36 -07:00
2026-04-06 00:47:04 -07:00
2026-04-21 21:58:27 -07:00
2026-04-28 00:57:28 -07:00
2026-04-06 00:47:04 -07:00
2026-04-20 13:20:30 +08:00
2026-03-20 12:22:11 -07:00
2026-05-07 20:14:59 -07:00
2026-05-07 20:14:59 -07:00
2026-05-20 07:35:01 -07:00
2026-05-23 23:14:04 -07:00
2026-05-20 06:56:41 -07:00
2026-05-14 21:46:50 -07:00
2026-05-20 07:35:01 -07:00
2026-04-25 22:52:15 -07:00
2026-04-23 10:23:40 -07:00
2026-04-25 22:52:15 -07:00
2026-04-23 10:23:40 -07:00
2026-04-23 10:23:40 -07:00
2026-04-23 10:23:40 -07:00
2026-04-20 22:18:37 +08:00
2026-05-20 06:56:41 -07:00
2026-05-13 12:22:30 -04:00
2026-04-20 22:18:37 +08:00
2026-04-23 10:23:40 -07:00
2026-04-20 22:18:37 +08:00
2026-04-20 22:18:37 +08:00
2026-05-20 07:35:01 -07:00
2026-04-20 22:18:37 +08:00
2026-04-20 22:18:37 +08:00
2026-05-09 08:06:47 -07:00
2026-05-23 19:25:06 -07:00
2026-05-23 18:29:33 -07:00
2026-05-21 22:15:37 -07:00
2026-05-09 08:06:47 -07:00
2026-05-13 12:22:30 -04:00
2026-05-07 20:14:59 -07:00
2026-05-23 23:17:42 -07:00
2026-05-14 21:19:58 -07:00
2026-05-09 08:06:47 -07:00
2026-04-21 21:58:27 -07:00
2026-04-20 22:18:37 +08:00
2026-05-11 12:16:26 -07:00
2026-03-26 22:07:03 -06:00
2026-05-21 22:15:37 -07:00
2026-05-23 23:10:17 -07:00
2026-05-23 23:22:57 -07:00
2026-05-23 23:19:25 -07:00
2026-05-14 21:55:29 -07:00
2026-04-07 00:23:36 -07:00
2026-05-07 20:14:59 -07:00
2026-04-21 21:58:27 -07:00
2026-03-28 08:35:24 -06:00
2026-05-20 07:35:01 -07:00
2026-05-07 20:14:59 -07:00
2026-04-25 22:52:15 -07:00
2026-04-28 20:08:04 -07:00
2026-05-09 08:06:47 -07:00
2026-04-28 20:08:04 -07:00
2026-05-23 23:21:22 -07:00
2026-04-25 22:52:15 -07:00
2026-05-23 23:08:01 -07:00
2026-05-23 23:21:22 -07:00
2026-05-23 18:29:33 -07:00
2026-05-24 00:19:50 -07:00
2026-05-23 23:21:22 -07:00
2026-05-23 23:11:54 -07:00
2026-04-25 22:52:15 -07:00
2026-03-13 00:31:41 -07:00
2026-05-14 21:55:29 -07:00
2026-04-28 00:57:28 -07:00
2026-05-11 12:16:26 -07:00
2026-03-26 11:15:24 -06:00
2026-04-17 00:45:13 -07:00
2026-04-04 10:17:05 -07:00
2026-05-07 20:14:59 -07:00