- Add paginated thread history with bounded snapshots and replay limits - Trim oversized wire payloads and support progressive mobile history loading
Showing the changes to docs (1 of 43 files). Show all
Unified · Split
| @@ -0,0 +1,30 @@ | ||
| 1 | +# Performance regression checks | |
| 2 | + | |
| 3 | +The v2 transport has a focused regression command: | |
| 4 | + | |
| 5 | +```bash | |
| 6 | +vp run test:perf:v2-wire | |
| 7 | +``` | |
| 8 | + | |
| 9 | +It exercises the real v2 projection and client reducers. This matters because the older | |
| 10 | +built-app benchmark fixtures seed v1 orchestration events; running those fixtures against a v2 | |
| 11 | +client can produce reassuring timings while missing the active transport path. | |
| 12 | + | |
| 13 | +The v2 checks pin these invariants: | |
| 14 | + | |
| 15 | +- Client cold opens use a recent timeline window capped at 75 rows and about 1 MiB of encoded | |
| 16 | + timeline data. | |
| 17 | +- The bounded snapshot does not retain the full duplicate conversation-message table. | |
| 18 | +- Older activity is fetched in bounded HTTP pages and merged without disturbing the live scroll | |
| 19 | + window. | |
| 20 | +- Resume catch-up replays at most 128 thread events and 1 MiB of projected event JSON before | |
| 21 | + replacing stale state with a current snapshot. | |
| 22 | +- Oversized dynamic-tool results and detail strings are reduced only at the wire boundary; the | |
| 23 | + persisted event remains complete. | |
| 24 | +- Shell resume sends deltas plus compact repository-enrichment metadata, not another full project | |
| 25 | + and thread snapshot. | |
| 26 | +- Known idle sends and interrupts do not fetch a full thread projection before dispatch. | |
| 27 | + | |
| 28 | +When changing projection schemas, paging, shell synchronization, or thread state, run this command | |
| 29 | +alongside the focused package typechecks and a real-client pass on every affected surface. Payload | |
| 30 | +budgets belong in these tests rather than logs or one-off recordings so regressions fail locally. | |