Skip to content

perf(acp): bound transcript and live tool resource usage - #596

Open
TroyMitchell911 wants to merge 3 commits into
xintaofei:mainfrom
TroyMitchell911:fix/acp-transcript-resource-bounds
Open

perf(acp): bound transcript and live tool resource usage#596
TroyMitchell911 wants to merge 3 commits into
xintaofei:mainfrom
TroyMitchell911:fix/acp-transcript-resource-bounds

Conversation

@TroyMitchell911

Copy link
Copy Markdown
Contributor

Summary

  • keep out-of-turn diagnostics in active tool state without creating ghost assistant transcript messages
  • serialize native transcript parsing and skip hidden transcript fetching and rendering
  • coalesce per-tool updates once per frame and cap retained live output text and chunks

Why

ACP diagnostics can arrive outside an active prompt and previously leaked into transcript snapshots as ghost assistant messages. Native transcript work could also overlap or continue for hidden tabs, while high-frequency tool updates retained unbounded output and repeatedly drove reducer work.

Tests

  • out-of-turn transcript tool-state and snapshot regressions
  • serialized parsing and hidden-tab suspension regressions
  • live tool update coalescing and output-bound regressions
  • full Rust desktop suite: 3132 passed, 1 ignored
  • full Rust server suite: 3101 passed, 1 ignored
  • vendored sacp-tokio suite: 12 passed
  • full frontend suite: 5233 passed across 370 files
  • server and desktop clippy with warnings denied
  • full ESLint, Next.js production build, and web handler routing guard

Keep startup diagnostics in active tool state without creating ghost assistant messages in transcript snapshots.
Serialize native transcript parsing and skip fetching or rendering hidden tabs while keeping their session controllers mounted.
Coalesce per-tool updates once per frame and cap retained output text and chunks so streaming cannot grow reducer work and memory without bound.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant