123123213weqw opened a new pull request, #5818:
URL: https://github.com/apache/rocketmq-dashboard/pull/5818

   ## Why
   
   When admission cannot build the agent workspace, `sendMessage` persists a 
warn notice (degraded or unbound) as the run's first timeline event so the 
missing RocketMQ tools are "discoverable rather than mysterious". But it is 
written through `AiEventSink.writeTimeline`, which deliberately does not 
publish a live frame - only `emit()` does. So the client that just sent the 
message never saw the warning: it only appeared after a reload, once the answer 
had already started streaming without tools.
   
   Everything else in this pipeline keeps the live and replayed renderings 
identical - the projector's own docs call a tool block that renders differently 
depending on whether the user watched it a bug. This was the one event that 
existed only on the replayed side.
   
   ## What changed
   
   `sendMessage` now also publishes the notice as a `LiveEvent.Notice` frame 
right after the observer is attached and the replay finishes (so it cannot be 
buffered or lost), next to the `run_started` frame it accompanies in the 
transcript. The frame carries seq 0: the persisted row already accounts for it 
and the observer's watermark already covers that seq.
   
   ## Validation
   
   Red test first: `aDegradedConversationShouldTellTheLiveStreamTooTest` fails 
on `upstream-studio` - the emitter receives no `notice` frame at all - and 
passes with the fix, asserting both the frame count and the degraded-tools 
message on the wire. Full `AiRunServiceTest` (24 tests) green.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to