Skip to content

fix: prevent onboarding from repeating name confirmation after tool calls#23989

Merged
asharma53 merged 1 commit into
mainfrom
ak/fix-onboarding-name-repeat
Apr 7, 2026
Merged

fix: prevent onboarding from repeating name confirmation after tool calls#23989
asharma53 merged 1 commit into
mainfrom
ak/fix-onboarding-name-repeat

Conversation

@asharma53
Copy link
Copy Markdown
Contributor

@asharma53 asharma53 commented Apr 7, 2026

Summary

  • During onboarding, the assistant would confirm the user's name twice (e.g. "Marina – beautiful name" then "Marina – love it") because the agentic loop re-invokes the LLM after file_edit tool results return, and the model re-generates confirmation text
  • Added anti-repetition guidance to both BOOTSTRAP.md and SOUL.md so the model knows its earlier text is already visible and should not be repeated after tool calls

Test plan

  • Run through onboarding flow on cloud-hosted instance — verify name confirmation appears only once
  • Verify tool calls (file_edit saves) still happen in the same turn as the confirmation text

🤖 Generated with Claude Code


Open with Devin

…alls

The agentic loop calls the LLM again after tool results return. Combined
with "talk before you work" (SOUL.md) and "save immediately" (BOOTSTRAP.md),
the model would confirm the user's name, call file_edit, then re-confirm
the name in the continuation response.

Add explicit guidance in both BOOTSTRAP.md and SOUL.md to not repeat text
that was already shown before tool calls.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@asharma53 asharma53 merged commit 8eafd28 into main Apr 7, 2026
9 checks passed
@asharma53 asharma53 deleted the ak/fix-onboarding-name-repeat branch April 7, 2026 16:05
Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

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

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 1 additional finding.

Open in Devin Review

noanflaherty pushed a commit that referenced this pull request Apr 7, 2026
…alls (#23989)

The agentic loop calls the LLM again after tool results return. Combined
with "talk before you work" (SOUL.md) and "save immediately" (BOOTSTRAP.md),
the model would confirm the user's name, call file_edit, then re-confirm
the name in the continuation response.

Add explicit guidance in both BOOTSTRAP.md and SOUL.md to not repeat text
that was already shown before tool calls.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
noanflaherty added a commit that referenced this pull request Apr 7, 2026
* fix: use borderElement for unchecked checkbox visibility (LUM-751) (#23992)

The ToS checkbox border used VColor.borderBase (#24292E dark) which is
identical to VCard's VColor.surfaceLift background (#24292E dark),
making the unchecked checkbox completely invisible in dark mode.

Switch to VColor.borderElement (#5A6672 dark / #CFCCC9 light) which
is the semantic token for interactive element borders and provides
clear contrast against the card background in both color schemes.

Closes LUM-751

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: ashlee@vellum.ai <ashlee@vellum.ai>

* fix: enable link click handling in VSelectableTextView (#23986)

Add NSTextViewDelegate to Coordinator with textView(_:clickedOnLink:at:)
to open clicked links in the default browser via NSWorkspace. The NSTextView
was already styling links (tint color, underline, pointer cursor) but had
no delegate to handle click events, making links visually styled but inert.

Closes LUM-748

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: ashlee@vellum.ai <ashlee@vellum.ai>

* fix: prevent onboarding from repeating name confirmation after tool calls (#23989)

The agentic loop calls the LLM again after tool results return. Combined
with "talk before you work" (SOUL.md) and "save immediately" (BOOTSTRAP.md),
the model would confirm the user's name, call file_edit, then re-confirm
the name in the continuation response.

Add explicit guidance in both BOOTSTRAP.md and SOUL.md to not repeat text
that was already shown before tool calls.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Update Vellum Cloud onboarding copy to emphasize always-on availability (#24022)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* [LUM-753] Improve client-side dictation resilience (#24042)

* [LUM-753] Improve dictation resilience: reduce timeout, use warning-level logs, add timing

- Reduce dictation HTTP timeout from 10s to 5s so the client falls back
  to raw transcription faster when the daemon is unreachable
- Downgrade failure logs from error to warning since these are expected
  failures with graceful recovery (not actionable errors)
- Add elapsed time to all failure log messages for debugging latency
- Improve fallback log to include transcription length for diagnostics

Co-Authored-By: tkheyfets <timur@vellum.ai>

* Apply suggestions from code review

Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: tkheyfets <timur@vellum.ai>
Co-authored-by: Noa Flaherty <noa@vellum.ai>

---------

Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: ashlee@vellum.ai <ashlee@vellum.ai>
Co-authored-by: asharma53 <64060709+asharma53@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: tkheyfets <timur@vellum.ai>
vellum-automation Bot added a commit that referenced this pull request Apr 7, 2026
* Release v0.6.2

* Cherry-pick fixes into release/v0.6.2 (#24074)

* fix: use borderElement for unchecked checkbox visibility (LUM-751) (#23992)

The ToS checkbox border used VColor.borderBase (#24292E dark) which is
identical to VCard's VColor.surfaceLift background (#24292E dark),
making the unchecked checkbox completely invisible in dark mode.

Switch to VColor.borderElement (#5A6672 dark / #CFCCC9 light) which
is the semantic token for interactive element borders and provides
clear contrast against the card background in both color schemes.

Closes LUM-751

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: ashlee@vellum.ai <ashlee@vellum.ai>

* fix: enable link click handling in VSelectableTextView (#23986)

Add NSTextViewDelegate to Coordinator with textView(_:clickedOnLink:at:)
to open clicked links in the default browser via NSWorkspace. The NSTextView
was already styling links (tint color, underline, pointer cursor) but had
no delegate to handle click events, making links visually styled but inert.

Closes LUM-748

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: ashlee@vellum.ai <ashlee@vellum.ai>

* fix: prevent onboarding from repeating name confirmation after tool calls (#23989)

The agentic loop calls the LLM again after tool results return. Combined
with "talk before you work" (SOUL.md) and "save immediately" (BOOTSTRAP.md),
the model would confirm the user's name, call file_edit, then re-confirm
the name in the continuation response.

Add explicit guidance in both BOOTSTRAP.md and SOUL.md to not repeat text
that was already shown before tool calls.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Update Vellum Cloud onboarding copy to emphasize always-on availability (#24022)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* [LUM-753] Improve client-side dictation resilience (#24042)

* [LUM-753] Improve dictation resilience: reduce timeout, use warning-level logs, add timing

- Reduce dictation HTTP timeout from 10s to 5s so the client falls back
  to raw transcription faster when the daemon is unreachable
- Downgrade failure logs from error to warning since these are expected
  failures with graceful recovery (not actionable errors)
- Add elapsed time to all failure log messages for debugging latency
- Improve fallback log to include transcription length for diagnostics

Co-Authored-By: tkheyfets <timur@vellum.ai>

* Apply suggestions from code review

Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: tkheyfets <timur@vellum.ai>
Co-authored-by: Noa Flaherty <noa@vellum.ai>

---------

Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: ashlee@vellum.ai <ashlee@vellum.ai>
Co-authored-by: asharma53 <64060709+asharma53@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: tkheyfets <timur@vellum.ai>

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Noa Flaherty <noa@vellum.ai>
Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: ashlee@vellum.ai <ashlee@vellum.ai>
Co-authored-by: asharma53 <64060709+asharma53@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: tkheyfets <timur@vellum.ai>
@asharma53
Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Breezy!

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

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