Skip to content

fix(onboarding): Scout's welcome says who it is and that typing works (TASK-644) - #3036

Merged
lilyshen0722 merged 1 commit into
mainfrom
fix/t644-scout-welcome-line
Oct 31, 2026
Merged

lilyshen0722 merged 1 commit into
mainfrom
fix/t644-scout-welcome-line

Conversation

@lilyshen0722

Copy link
Copy Markdown
Contributor

Scout's first message in a new workspace now says who Scout is and that the person can just type. The start buttons don't change.

Why (TASK-644). Of this week's four Google signups, two opened My Workspace 3-4s after signing up and left without clicking a start, typing, or opening Bring your own. The ones who engaged clicked within 7-26s. Since 10-20, 3 of 10 outside signups never acted at all. A fresh staging signup at 1440 and 390 found the screen renders cleanly: the welcome comes in the first fetch, the buttons sit above the fold and nothing covers them. So the line was the problem: one bare question that didn't say who was asking.

Copy, as ruled by UX Lead (Sharpen 118409):

before after
en What would you like to do first? I'm Scout, your first agent here. Pick one below, or just tell me what you're working on.
zh-CN 你想先做什么? 我是 Scout,你在这里的第一个智能体。选下面一项开始,或者直接告诉我你在做什么。

"A start" is our internal name for the buttons, so the line says "one below" instead. In zh-CN, 选下面一项开始 points at the buttons, where 选一个开始 could read as "choose a beginning".

The welcome is stored once at signup, so this reaches new workspaces only. Existing welcomes keep their text.

Tests. scoutWelcome.test.js pins both exact strings and checks the line never says "start". The tests that pinned the old English, nativeAgents.scoutKnowledge and authController.guideIdentity, are updated. The zh-CN check that the line has no English now allows Scout's name.

🤖 Generated with Claude Code

https://claude.ai/code/session_01N4VWLC9MiWprFWXFNjJSnr

… (TASK-644)

Two of this week's four Google signups opened their workspace 3-4s after
signing up and left without clicking a start or typing. The welcome was one
bare question, "What would you like to do first?", which says neither who
Scout is nor that the person can just type. A staging walk found nothing wrong
with the render, so the change is the line itself, as ruled by UX Lead (A,
with "a start", an internal name, replaced by "one below").

The tests pin both exact strings.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4VWLC9MiWprFWXFNjJSnr
@coderabbitai

coderabbitai Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 3c8c253 and 8f9a4a9.

Files selected for processing: 4
  • backend/__tests__/unit/config/nativeAgents.scoutKnowledge.test.js
  • backend/__tests__/unit/config/scoutWelcome.test.js
  • backend/__tests__/unit/controllers/authController.guideIdentity.test.js
  • backend/config/native-agents/scout.ts

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 8 remain after this review.

Walkthrough

Scout’s English and Chinese welcome messages now introduce Scout and invite users to choose an action or describe their work. The related tests now check the updated copy.

Changes: Scout welcome

Layer / File(s) Summary
Welcome message and validation
backend/config/native-agents/scout.ts, backend/__tests__/unit/config/nativeAgents.scoutKnowledge.test.js, backend/__tests__/unit/config/scoutWelcome.test.js, backend/__tests__/unit/controllers/authController.guideIdentity.test.js
The English and Chinese welcome strings introduce Scout and invite users to choose an action or describe their work. Tests expect the revised text and check the Chinese copy and English wording.

Estimated code review effort: 2 (Simple) | ~8 minutes

Change: Bug fix

Possibly related issues

  • Team-Commonly/commonly#871 — The issue concerns the guide agent speaking first in an empty workspace. This change adds an introductory Scout welcome, addressing the first-message aspect.
  • Team-Commonly/commonly#709 — The issue requests broader zh-CN support. This change updates the zh-CN Scout welcome, which is one onboarding string.

Possibly related PRs

Merge Risk: Minimal · up to 8f9a4

No current-head merge-blocking risk was identified in this copy-only change.

Pre-merge checks: Passed 4
Check name Status Explanation
Title check Passed The title names the main change: Scout's welcome message now states who Scout is and that typing works. It also names the area (onboarding) and a ticket ID. The changeset updates the English and Chine…
Description check Passed The description matches the changeset. It explains that Scout's first message in new workspaces now identifies Scout and says the user can type. It gives before and after copy for English and zh-CN, w…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title names the main change: Scout's welcome message now states who Scout is and that typing works. It also names the area (onboarding) and a ticket ID. The changeset updates the English and Chinese Scout welcome copy in scout.ts and the related tests, which matches the title. The title is 80 characters and 12 words, so it is somewhat long, but it is specific and accurate.

Full details: Description check

Explanation

The description matches the changeset. It explains that Scout's first message in new workspaces now identifies Scout and says the user can type. It gives before and after copy for English and zh-CN, which matches the scout.ts change. It also lists the updated tests (scoutWelcome.test.js, nativeAgents.scoutKnowledge, authController.guideIdentity) and says the start buttons are unchanged. The rationale uses onboarding metrics that are not verifiable from the diff, but the description is clearly related to the changeset.

Finishing Touches
Generate docstrings
  • Commit to this branch
  • Create a new PR
Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

@lilyshen0722 lilyshen0722 left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sable gate, #3036 at 8f9a4a9 (TASK-644, Tier 1).

  1. Both strings match UX Lead's ruling (Sharpen 118409) exactly. I compared the source byte for byte against the ruled text: ASCII apostrophes in "I'm" and "you're", a half-width space before Scout, and full-width ,and 。 in zh-CN. scoutWelcome.test.js pins both strings with toBe, and the knowledge and guideIdentity tests pin the English one. As mutants, "Pick a start below" fails 4 tests and 选一个开始 fails 1.
  2. The starts payload is unchanged. In scout.ts the diff touches only the doc comment and the two SCOUT_WELCOME_BY_LOCALE values. SCOUT_STARTS, SCOUT_HOSTED_START and authController's hostedEngineAvailable branch are untouched. guideIdentity still asserts the full kind: 'starts' payload, and that assertion passes.
  3. The old line is quoted nowhere except the new history comment in scout.ts. git grep for "would you like to do first" and 想先做什么 at this head finds no prompt, knowledge, frontend or docs copy. Scout's knowledge text says "Your welcome offered starts as buttons", which is still true.

Ran: the 3 changed suites, 40/40 pass on a fresh checkout at this head.

Non-blocking: the scoutWelcome.test.js case is still titled "keeps the English welcome unchanged", but the English welcome has now changed.

Written by Sable, a Commonly agent — https://commonly.me/v2/pods/6a692a1be833c668acdb84cf

GATE: PASS

@lilyshen0722
lilyshen0722 added this pull request to the merge queue Oct 31, 2026
Merged via the queue into main with commit 0712f73 Oct 31, 2026
29 checks passed
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