mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-14 23:22:51 +00:00
Empty-text `agent.message` events were discarded, erasing the boundaries between batches of tool calls. Eight short shell calls issued across five model responses collapsed into one `Bash x8` group whose DNA bar spanned the model-response gaps between them, showing a misleading six-minute duration. Filtering could recreate the same artificial adjacency. - Always emit an assistant turn for `agent.message`, carrying `tool_call_count` so a text-free response renders as "Requested N tool calls" instead of a blank row. - Derive grouping and DNA timing from the complete turn stream, then apply kind/search filters as a pure visibility pass over display items. Hiding a tool can no longer inflate an adjacent Agent bar, and hiding an Agent can no longer merge the tool groups on either side. - Give a tool group the wall-clock envelope of its children (earliest start to latest end) rather than the sum of their durations or the span to the last array element. Row, details header, DNA bar, and tooltip all read the same values. - Advance the DNA previous-activity cursor by the maximum observed end so out-of-order or overlapping completions cannot move it backward. Frontend only: no event, persistence, or API schema changes. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| app | ||
| public/images | ||
| scripts | ||
| .dockerignore | ||
| .gitignore | ||
| index.template.html | ||
| package.json | ||
| react-doctor.config.json | ||
| tsconfig.json | ||