Repository navigation
Open
Labels
enhancementNew feature or requestNew feature or requestneeds-reviewAwaiting owner reviewAwaiting owner review
Description
User story
As an operator reading an agent thread from Chief of Staff, I want readable task updates and clickable URLs, so I can follow outcomes and open referenced pages directly.
Acceptance criteria
- A recognized task notification appears as a Task update, rather than a message attributed to You.
- The default view shows the summary, reported status, and result without XML field tags.
- Notification prose renders Markdown headings, emphasis, lists, inline code, and fenced code blocks through the shared safe renderer.
- XML-escaped characters decode once at the notification boundary:
&&and2>&1display as&&and2>&1in code. - Decoded HTML stays literal and inert; nested entity escapes are not repeatedly decoded, and the original notification remains unchanged in details.
- When a notification says background work continues or its result is interim, that caveat stays visible alongside the reported status.
- Task ID, output-file path, usage, and the original notification remain available in collapsed details without filling the default view.
- Long results and paths stay within the thread width on desktop and narrow screens.
- Malformed or unrecognized notifications remain readable as escaped text; notification content cannot execute markup or add session actions.
- Bare HTTP/HTTPS URLs in agent-thread text, including tool results and task updates, are clickable and open in a new tab (
target="_blank",rel="noopener noreferrer"). - Link recognition preserves surrounding text and excludes trailing sentence punctuation; other schemes stay inert and tool output remains escaped text.
What I'd notice
Task updates show formatted prose and readable commands instead of Markdown syntax or XML entities, and URLs in the thread open directly in a new tab.
Context
- Owner screenshot: the CoS agent thread displays a literal
<task-notification>block under “You,” including task ID, output path, status, summary, note, result, and usage. - The example reports
completedwhile its note says the agent still has background work running and may resume. Showing only a completion badge would hide material context. - Eve owns the thread presentation (
public/outside-thread.js); this is a presentation enhancement, not a scheduler or agent lifecycle change. - Related: Show outside sessions in the Chief of Staff view as formatted Markdown with folded tool calls #572 and Use relay's kind and name on outside-session tool entries #583 added Markdown and folded tool entries. This request covers task notifications arriving as user-role transcript text, a distinct case.
- The screenshot is described here without publishing its machine paths or identifiers. Recognition is for display only; it grants no authority to notification content.
- Additional owner screenshot: a tool result containing only an HTTPS issue URL displays as unclickable text. Linkify text without interpreting tool output as HTML.
- Further owner screenshot: the
<result>body contains bold section labels, bullet lists, backticked commands, and escaped shell operators. Decode the notification envelope separately from rendering its body; retain code whitespace and keep arbitrary tool output as text with safe links. - Requested as
needs-review; implementation scope awaits review.
Tasks
- Define task-notification and URL recognition and fallback behavior in a small rendering contract.
- Add task-update presentation and safe URL links; update the relevant feature documentation.
- Add browser coverage for the criteria, including Markdown, code blocks, single and nested entity escapes, interim notifications, hostile content, and link targets and punctuation.
- Verify the approved head with repository checks, existing outside-thread journeys, and a visual check on desktop and narrow screens.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestneeds-reviewAwaiting owner reviewAwaiting owner review
Activity
[-]Render task notifications as readable updates in the CoS agent thread[/-][+]Make CoS agent threads easier to read with task cards and clickable URLs[/+]