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
This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: embed agent run traces inside their reply comments (#218)
* feat(server): link agent tasks to their result reply comment
When an agent finishes a task and produces a reply comment, persist that
linkage on the task itself via a new agent_task_queue.result_comment_id
column. This lets clients pair a run with the reply it actually wrote
instead of guessing from timestamps.
- migration: add result_comment_id column, FK to comment, partial index
- queries: SetAgentTaskResultComment (idempotent, only sets when NULL)
- service.CompleteTask: backfill the link on every comment-producing
path (success, verification approve / reject / escalate)
- handler.CreateComment: accept optional task_id from agent CLIs and
link the task only when author / agent / issue all match
- cli: forward MULTICA_TASK_ID env var on `multica issue comment add`
- api: expose result_comment_id on AgentTaskResponse
Co-authored-by: Cursor <cursoragent@cursor.com>
* feat(web): embed agent run traces inside their reply comments
A task that produced a reply (result_comment_id set on the task) now
renders its TaskRunCard *inside* that reply, between the header and the
content — answering "how did the agent arrive at this answer?" in place
instead of as a sibling card up top.
Multiple runs sharing one reply collapse into a single RunTraceGroup
strip (count + total duration + aggregated status) that expands to show
each run individually. Active runs and runs that never produced a reply
keep rendering as standalone TaskRunCards so nothing silently disappears
during the active → completed transition.
- types: AgentTask.result_comment_id
- agent-live-card: partitionTaskRunsByResultComment + RunTraceGroup
- comment-card: optional runTraces map; embeds the matching node into
each comment row (parent or nested reply)
- issue-detail: split tasks into embedded vs standalone buckets and
feed CommentCard the per-thread trace map; orphaned runs (reply not
loaded yet) fall back to standalone so they remain visible
- tests: cover partitionTaskRunsByResultComment behavior
Co-authored-by: Cursor <cursoragent@cursor.com>
---------
Co-authored-by: Cursor <cursoragent@cursor.com>