You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(workflow): ephemeral node Bot replies still land in Chief / persistent Bot chat as queued 「Reply from …」 #1524
During a live Workflow run, node Bots (e.g. Review / Verify / Rework) still deliver their step replies into the Main Bot / Chief conversation as queued inbound messages ([Reply from Review …], [Reply from Verify …], …). Owner screenshot shows Chief with 「3 条排队消息」 while those nodes finish — the same replies that should stay inside the Workflow run/graph only.
Owner requirement (stated 2026-10-27, still violated on LIVE): Workflow node replies must not be delivered as messages into Chief / persistent Bot chats; node I/O stays in the run/graph only. Only Chief / persistent sidebar Bots may appear in the conversation UI.
Related but different: #1452 / stage stageMessages() hides kind: 'bot' rows in the Workflow stage pane; that does not stop host delivery into Chief. #1518 is scroll jump on hidden stage rows — also separate.
Expected
A Workflow ephemeral node Bot's reply is consumed by the Workflow runner (stepResult / reply handle) and recorded on the run/graph.
That reply must not appear in Chief (or any other persistent sidebar Bot) as a chat bubble, queued message, or 「收到回复 / Reply from」 inbound line.
Persistent Bot ↔ persistent Bot messaging is unchanged.
Hypothesis (verify; discard if wrong)
Live runs dispatch a step from the Main Bot to the ephemeral node Bot; when the node answers with role: 'reply', core/ds-botdelivery.js still prefixes [Reply from ${fromName}] and enqueues it into the Main Bot session. The Workflow plugin advances the run from the same reply, but does not suppress that host delivery path for ownsBot(from).
Acceptance
Live Workflow node replies never appear in Chief / persistent Bot chat (bubble or busy queue).
Run still advances on those replies; graph / node status / stage system lines still work.
Regression test covering “ephemeral reply is handled and not delivered to Main Bot chat”.
changelog fragment + Docs-not-needed (or subsystem doc line) per repo rules.
Evidence
Owner screenshot attached (Chief conversation, 3 queued Reply-from lines from Workflow nodes during a live run). Prod tip at report time still 55e1c27a (pre-#1503/#1512); please reproduce on main tip as well.
Activity
Birfy commentedon Oct 28, 2026
Owner screenshot attached below (Chief: 3 queued Reply-from lines from Workflow nodes).
Birfy commentedon Oct 28, 2026
Owner screenshot: #1524 (local copy on implementer: uploads/chief-workflow-leak.png). File is attached to the cloud agent launch.
Birfy commentedon Oct 28, 2026
Owner screenshot (Chief: 3 queued Reply-from lines from Workflow nodes during a live run):
fix(workflow): prevent ephemeral node Bot replies from leaking into C…
debug(#1524): add diagnostic logging to trace workflow reply delivery…
fix(workflow): deny ALL ephemeral Bot deliveries using durable bot.ep…
fix(workflow): expand gated() for ephemeral Bots + tombstone on remove (
test: add regression test for #1524 workflow reply leak
fix(workflow): prevent ephemeral node Bot replies from leaking into C…
fix(workflow): prevent ephemeral node Bot replies from leaking into C…
debug(#1524): add diagnostic logging to trace workflow reply delivery…
fix(workflow): deny ALL ephemeral Bot deliveries using durable bot.ep…
fix(workflow): expand gated() for ephemeral Bots + tombstone on remove (
fix(workflow): tombstone in removeBot, handle resent ephemeral (#1524)
test(#1524): add real defect tests proving gated() fix and tombstonin…
test(#1524): add real defect tests proving gated() fix and tombstonin…
fix(workflow): prevent ephemeral node Bot replies from leaking into C…