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]
