lizhimins commented on PR #5815:
URL: 
https://github.com/apache/rocketmq-dashboard/pull/5815#issuecomment-6120326851

   Thanks for the careful write-up, but the premise does not hold on the 
current `rocketmq-studio` baseline. `AgentEvent.ResultMeta` has exactly one 
producer in `server/src/main/java` — `ClaudeCodeStreamParser.java:576` — and 
its subtype comes from `resolveSubtype()` 
(`ClaudeCodeStreamParser.java:645-655`), which already substitutes 
`SUBTYPE_ERROR` / `SUBTYPE_SUCCESS` when the frame's `subtype` is missing or 
blank. A blank subtype therefore never reaches `AiRunExecutor.record()`, and 
`AgentEventProjector.java:340`'s `"unknown"` fallback is unreachable for the 
same reason — so `decide()` and the projector cannot actually disagree, and the 
run row cannot end up COMPLETED over an error timeline via this path. The new 
test only reproduces the scenario by constructing `ResultMeta` directly and 
bypassing the parser. Closing as not reachable in production. If you want this 
as defence-in-depth for a future non-parser provider, please re-cast it that 
way (and note that the projector's o
 wn `"unknown"` branch would want the same treatment); the more useful gap here 
is that a *missing* result frame still falls through to `COMPLETED` at 
`AiRunExecutor.java:500`.


-- 
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