Skip to content

[Fix] Fast sessions expose internal platform events in Slack - #1820

Draft
roomote-roomote[bot] wants to merge 1 commit into
developfrom
fix/fast-platform-event-slack-relay-1lfhb310oaomh
Draft

[Fix] Fast sessions expose internal platform events in Slack#1820
roomote-roomote[bot] wants to merge 1 commit into
developfrom
fix/fast-platform-event-slack-relay-1lfhb310oaomh

Conversation

@roomote-roomote

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

Copy link
Copy Markdown
Contributor

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

What changed

Fast platform-event turns no longer use the model's final text as a fallback chat reply. Platform events remain internal session inputs, while deliberate parent-authored replies and task/tool updates continue through their explicit delivery paths.

Regression coverage exercises every current platform-event type with escaped payload output, the literal payload form, deliberate parent replies, and all child lifecycle purposes.

Why this change was made

An internal child lifecycle event could be echoed by the model and posted literally into Slack when the final-text fallback ran. The session should own user-visible communication instead of exposing serialized event envelopes.

Impact

After this change is deployed, Slack threads no longer receive raw or escaped platform-event payloads. Fast parents can still publish intentional summaries and task updates, and child lifecycle messages continue to reach the parent session for orchestration. The currently running service still has the old fallback behavior, so live Slack verification requires this PR to be merged and deployed.

@roomote-community

roomote-community Bot commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

1 issue outstanding. See task

  • Required PR events can be marked delivered without a reply (packages/cloud-agents/src/server/fast-agent/fast-agent-service.ts:2310).

Reviewed b65f8fa


throwIfTurnCancelled();
if (!closed) {
if (!closed && !platformEvent) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Required platform events can now be acknowledged as delivered without ever reaching the conversation. If the model returns final text instead of calling send_chat_reply, this path returns successfully with visibleUpdatePosted still false. The PR-feedback and conflict delivery wrappers then persist their delivery claims, so those required notifications are never retried or shown. Please make a required event without an explicit reply fail/retry (or otherwise provide a safe, intentional closeout).

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