diff --git a/static/js/tasks.js b/static/js/tasks.js
index 08947f6..3cb55b3 100644
--- a/static/js/tasks.js
+++ b/static/js/tasks.js
@@ -351,8 +351,10 @@ function _taskIcon(task) {
function _taskAiMark(task) {
const kind = task?.task_type || task?.kind || '';
- if (kind !== 'llm') return '';
- return '';
+ const action = task?.action || '';
+ const aiAction = /(^|_)(ai|summarize|summary|draft|reply|classify|triage|audit|research|brief|skills?)($|_)/i.test(action);
+ if (!(kind === 'llm' || kind === 'research' || task?.model || task?.endpointUrl || aiAction)) return '';
+ return '';
}
// ---- Custom pickers ----
@@ -2305,10 +2307,9 @@ function _renderActivityEntry(entry) {
${statusDot}
${_taskIcon({ action: entry.action, task_type: entry.kind })}
- ${_escHtml(entry.taskName)}${_taskAiMark({ task_type: entry.kind })}
+ ${_escHtml(entry.taskName)}${_taskAiMark(entry)}
${repeatBadge}
skipped${reason ? ' — ' + _escHtml(reason) : ''}
-
${_escHtml(tsLabel)}
@@ -2319,7 +2320,7 @@ function _renderActivityEntry(entry) {
${statusDot}
${_taskIcon({ action: entry.action, task_type: entry.kind })}
- ${_escHtml(entry.taskName)}${_taskAiMark({ task_type: entry.kind })}
+ ${_escHtml(entry.taskName)}${_taskAiMark(entry)}
${repeatBadge}
${rightHtml}
diff --git a/static/style.css b/static/style.css
index fff436d..3698451 100644
--- a/static/style.css
+++ b/static/style.css
@@ -20915,6 +20915,7 @@ body:not(.welcome-ready) #welcome-screen {
.task-log-row.is-skipped .task-log-row-head { padding: 0; }
.task-log-row.is-skipped .task-log-name { font-weight: 500; }
.task-log-row.is-skipped .task-log-skipped-reason {
+ flex: 1 1 auto;
margin-left: 6px;
font-style: italic;
opacity: 0.85;