RUN v4.1.1 /Users/sawyerhood/.bb-machines/bee.getbb.app/checkouts/bb/.claude/worktrees/wf_21e66a79-f02-23/apps/server ✓ @bb/server test/services/threads/repro-2066-unit-after-fix.test.ts > #2066 unit (proposed-fix signature) > replaces the previous revision of the same request shape 1ms ✓ @bb/server test/services/threads/repro-2066-unit-after-fix.test.ts > #2066 unit (proposed-fix signature) > keeps one entry for a single streaming thread regardless of revision count 0ms ✓ @bb/server test/services/threads/timeline-latest-rows-cache.test.ts > createTimelineLatestRowsCache > keeps a ring of recent revisions per params key and evicts the oldest 1ms ✓ @bb/server test/services/threads/timeline-latest-rows-cache.test.ts > createTimelineLatestRowsCache > a repeated set at the same revision refreshes recency without consuming a ring slot 0ms ✓ @bb/server test/services/threads/timeline-latest-rows-cache.test.ts > createTimelineLatestRowsCache > bounds params keys LRU-style; a lookup counts as use 0ms ✓ @bb/server test/services/threads/timeline-cache.test.ts > createThreadTimelineCache > builds once for the same shape and revision and serves cached on repeat 1ms ✓ @bb/server test/services/threads/timeline-cache.test.ts > createThreadTimelineCache > rebuilds on a new maxSeq and replaces the prior revision of the same shape 0ms ✓ @bb/server test/services/threads/timeline-cache.test.ts > createThreadTimelineCache > never returns a newer revision to a request for an older maxSeq 0ms ✓ @bb/server test/services/threads/timeline-cache.test.ts > createThreadTimelineCache > retains separate request shapes independently 0ms ✓ @bb/server test/services/threads/timeline-cache.test.ts > createThreadTimelineCache > does not cache responses above the row cap (streaming expanded turns) 0ms ✓ @bb/server test/services/threads/timeline-cache.test.ts > createThreadTimelineCache > drops a cached revision when its replacement is above the row cap 0ms ✓ @bb/server test/services/threads/timeline-cache.test.ts > createThreadTimelineCache > evicts least-recently-used entries beyond maxEntries 0ms ✓ @bb/server test/services/threads/timeline-cache.test.ts > buildThreadTimelineParamsKey > differs when any projection input differs 1ms ✓ @bb/server test/services/threads/timeline-cache.test.ts > buildThreadTimelineParamsKey > distinguishes older-page cursors 0ms ✓ @bb/server test/public/public-thread-timeline-output-preview.test.ts > GET /threads/:id/timeline inline output preview > previews the running turn's large outputs and leaves small ones whole 119ms ✓ @bb/server test/public/public-thread-timeline-output-preview.test.ts > GET /threads/:id/timeline inline output preview > nested-row consumers still receive the full inline output 78ms ✓ @bb/server test/public/public-thread-timeline-delta.test.ts > GET /threads/:id/timeline?afterSequence (row-patch delta) > a full fetch carries no delta and echoes maxSeq 115ms ✓ @bb/server test/public/public-thread-timeline-delta.test.ts > GET /threads/:id/timeline?afterSequence (row-patch delta) > delta + merge reproduces a fresh full window when rows are appended 86ms ✓ @bb/server test/public/public-thread-timeline-delta.test.ts > GET /threads/:id/timeline?afterSequence (row-patch delta) > delta + merge reproduces a fresh full window when a turn completes (collapse) 72ms ✓ @bb/server test/public/public-thread-timeline-delta.test.ts > GET /threads/:id/timeline?afterSequence (row-patch delta) > two interleaved clients both receive deltas (snapshot ring per params key) 83ms ✓ @bb/server test/public/public-thread-timeline-output-preview.test.ts > GET /threads/:id/timeline inline output preview > turn-summary-details scoped to the previewed row returns its whole output 70ms ✓ @bb/server test/public/public-thread-timeline-output-preview.test.ts > GET /threads/:id/timeline inline output preview > row-scoped details still resolve after the turn completes (expand/complete race) 74ms ✓ @bb/server test/public/public-thread-timeline-output-preview.test.ts > GET /threads/:id/timeline inline output preview (tool rows) > previews a large tool result and row-scoped details return it whole 71ms ✓ @bb/server test/public/public-thread-timeline-delta.test.ts > GET /threads/:id/timeline?afterSequence (row-patch delta) > a no-op delta (no new events) returns an empty patch and merges to the same rows 69ms ✓ @bb/server:isolated test/public/repro-2066-timeline-cache-retention.test.ts > #2066 timeline cache retains superseded revisions > keeps one resident response per appended event for the same request shape 440ms Test Files 6 passed (6) Tests 25 passed (25) Start at 09:30:04 Duration 3.19s (transform 5.30s, setup 0ms, import 8.15s, tests 1.29s, environment 0ms)