History

feat(orchestration): bound thread history and resume payloads

- Add paginated thread history with bounded snapshots and replay limits - Trim oversized wire payloads and support progressive mobile history loading

Julius Marminge committed 2 months ago

Commit 7d42d311 parent e3883a943 files · +4239 −211Browse files

Showing the changes to docs (1 of 43 files). Show all

Unified · Split

docs/internals/performance-regressions.md+30−0
@@ -0,0 +1,30 @@
1# Performance regression checks
2
3The v2 transport has a focused regression command:
4
5```bash
6vp run test:perf:v2-wire
7```
8
9It exercises the real v2 projection and client reducers. This matters because the older
10built-app benchmark fixtures seed v1 orchestration events; running those fixtures against a v2
11client can produce reassuring timings while missing the active transport path.
12
13The 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
28When changing projection schemas, paging, shell synchronization, or thread state, run this command
29alongside the focused package typechecks and a real-client pass on every affected surface. Payload
30budgets belong in these tests rather than logs or one-off recordings so regressions fail locally.