Skip to content

[Fix] Fast conversations lose thread context on resumed turns - #1744

Merged
daniel-lxs merged 4 commits into
developfrom
fix/fast-prompt-context-1sz7ogbmrtxth
Aug 27, 2026
Merged

[Fix] Fast conversations lose thread context on resumed turns#1744
daniel-lxs merged 4 commits into
developfrom
fix/fast-prompt-context-1sz7ogbmrtxth

Conversation

@roomote-roomote

@roomote-roomote roomote-roomote Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

​Opened on behalf of @daniel-lxs. Follow up by mentioning @roomote-roomote, in the web UI, or in Slack.

What changed

  • Preserve supplemental chat-thread context on warm Fast session follow-ups as well as cold rebuilds and retries.
  • Use surface-neutral sender context outside Slack and avoid attributing machine-generated platform events to a human sender.
  • Always wrap non-Slack human messages and escape message/thread envelope contents so missing identity or user text cannot inject trusted sender metadata.
  • Emit a privacy-safe, versioned context manifest for every Fast prompt submission and provider retry, including component presence, degradation, counts, session path, prompt kind, and hashes without raw prompt contents.
  • Add branch coverage for Slack, web, automation events, warm/cold/resumed/fallback sessions, loader degradation, image retries, and provider retries.

Why this change was made

Fast session continuity depended on the session path: newly observed thread messages were assembled for rebuild prompts but omitted from warm delta prompts. Existing telemetry also could not distinguish complete context from a best-effort loader fallback, making production consistency impossible to measure safely.

Impact

Fast conversations retain relevant thread additions across resumed turns, non-Slack and automation inputs carry accurate sender semantics, and operators can measure context completeness by surface and inference path without collecting prompt text or deployment identifiers.

@roomote-community

roomote-community Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

No code issues found. See task

  • Escape serialized non-Slack envelope values to prevent forged sender identity (packages/cloud-agents/src/server/fast-agent/fast-agent-service.ts:561).
  • Always wrap non-Slack human messages when sender identity is unavailable to prevent forged sender identity (packages/cloud-agents/src/server/fast-agent/fast-agent-service.ts:550).

Reviewed acd7234

Comment thread packages/cloud-agents/src/server/fast-agent/fast-agent-service.ts Outdated
@roomote-roomote

roomote-roomote Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor Author

Fixed both sender-envelope injection branches through commit acd7234b. Non-Slack human messages are now always wrapped even without resolved identity, and current-message/thread contents escape tag delimiters. Regression coverage includes sender lookup failure and forged sender envelopes. See task.

@daniel-lxs
daniel-lxs marked this pull request as ready for review August 27, 2026 18:47
@daniel-lxs
daniel-lxs merged commit cbe9615 into develop Aug 27, 2026
17 checks passed
@daniel-lxs
daniel-lxs deleted the fix/fast-prompt-context-1sz7ogbmrtxth branch August 27, 2026 18:47
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