Skip to content

[Fix] Task and session titles show skill invocation metadata across platforms - #3120

Closed
roomote-roomote[bot] wants to merge 11 commits into
developfrom
fix/slack-skill-title-cleanup-2iqy5n4tkwz08
Closed

roomote-roomote[bot] wants to merge 11 commits into
developfrom
fix/slack-skill-title-cleanup-2iqy5n4tkwz08

Conversation

@roomote-roomote

@roomote-roomote roomote-roomote Bot commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

​Opened on behalf of @daniel-lxs. Follow up by mentioning @roomote-roomote, in the web UI, or in Slack.

Related issue

No separate issue is tracked; this extends the Slack title cleanup in this PR to shared task/session titles and other task-entry surfaces.

Why this PR exists

Skill invocations are execution metadata, not useful derived titles. The shared title helper must match canonical routing for $skill and /skill prefixes, including punctuation boundaries, without changing prompt or transcript content.

What changed

  • Added a shared title-only matcher for recognized packaged first-hop skill invocations.
  • Applied it to task/session titles, the Fast Session web fallback, Slack live task cards, and prompt-derived Discord/Telegram provisional names.
  • Consumed the full leading punctuation run so inputs such as $implement-changes): Fix the task derive Fix the task, not ): Fix the task.
  • Kept generated subject titles intact when they begin with a recognized skill name unless that name came from the original invocation metadata.
  • Ordered legacy unscoped Slack installation selection deterministically so the CI triage fallback cannot vary with database row order.
  • Kept prompts, transcripts, unresolved tokens, ordinary dollar text, and later user messages unchanged.
  • Repository-local skills remain visible because they are resolved only after task launch.

How it was tested

  • Focused suites passed: cloud-agents (210), API title and Discord/Telegram launch paths (32), SDK Slack-launch unit suite (32), SDK parent-event (113), web session page (10), Slack live task title (25), and the three-file SDK global DB-state group (45).
  • pnpm lint:pre-push passed: oxlint, residual lint, 27 fast typechecks, and knip. Existing circular workspace dependency notices and the non-failing mint ignore hint remain.
  • The real SlackNotifier/WebClient path against the checked-in MockSlackServer observed a punctuation-delimited /review-code: task card and notification title of inspect this.
  • Browser screenshots are not applicable to the provider-native Slack title path; the provider-native mock HTTP/state evidence covers the visible Slack card, while the web fallback is covered by its focused page test.

Checklist

  • The PR title follows the repo convention: [Fix], [Feat], [Improve], [Refactor], [Docs], or [Chore] followed by a user-facing description
  • The PR is scoped to recognized skill metadata and derived-title cleanup
  • Focused regression coverage added for delimiters, punctuation, unresolved text, prompt preservation, and fallback titles
  • No secrets, tokens, private keys, or customer data were added
  • If this should appear in the changelog, a changeset is still not included

@roomote-community

roomote-community Bot commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

No new code issues found. See task

  • packages/slack/src/live-task-stream.ts:9 Recognized /skill invocations remain in the Slack title because the cleanup only matches $skill.
  • packages/slack/src/live-task-stream.ts:9 The title matcher requires whitespace after a recognized skill, while canonical routing accepts punctuation-delimited invocations.
  • packages/cloud-agents/src/skill-invocation-title.ts:8 The partial separator list still leaves valid punctuation-delimited invocations at the beginning of derived titles.
  • packages/cloud-agents/src/skill-invocation-title.ts:8 Consecutive punctuation delimiters still leave the remainder at the beginning of derived titles.
  • packages/cloud-agents/src/server/llm-task-title.ts:226 Generated subject titles starting with a recognized skill name are stripped even when the user did not invoke that skill.
  • packages/sdk/src/server/automations/ci-failure-triage-launch.ts:95 The newly added orderBy() call is missing from the unit-test database mock chain, so Slack-launch tests throw before their assertions.

Reviewed 381c281

Comment thread packages/slack/src/live-task-stream.ts Outdated
@roomote-roomote

roomote-roomote Bot commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor Author

Resolved the failing Test check and pushed 381c281f. The test mock now supports the ordered Slack installation query (asc plus orderBy), so Slack-launch unit tests reach their assertions. The SDK Slack-launch suite passes 32 tests; the global DB-state group passes 45 tests, and SDK typecheck plus full pre-push checks pass. The outstanding review thread is resolved.

Comment thread packages/slack/src/live-task-stream.ts Outdated
@roomote-roomote
roomote-roomote Bot marked this pull request as ready for review September 22, 2026 18:35
@roomote-roomote roomote-roomote Bot changed the title [Fix] Hide resolved skill metadata from Slack task titles [Fix] Task and session titles show skill invocation metadata across platforms Sep 23, 2026
Comment thread packages/cloud-agents/src/skill-invocation-title.ts
Comment thread packages/cloud-agents/src/skill-invocation-title.ts Outdated
Comment thread packages/cloud-agents/src/server/llm-task-title.ts Outdated
Comment thread packages/sdk/src/server/automations/ci-failure-triage-launch.ts
@roomote-roomote roomote-roomote Bot closed this Oct 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant