fix(agent-core): treat dismissed AskUserQuestion as no answer, not recommended pick - #1550
Merged
Conversation
🦋 Changeset detectedLatest commit: 2e07941 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
commit: |
Collaborator
Author
Merged
sailist
added a commit
to sailist/kimi-code
that referenced
this pull request
Jul 13, 2026
…th v1 - rewrite repeated tool call reminders to redirect instead of prohibit (port of v1 MoonshotAI#1518) - simplify makeReminderText2 to (repeatCount), no longer echoing tool name and args - treat dismissed AskUserQuestion as no answer, not the recommended pick (port of v1 MoonshotAI#1550) - update toolDedupe test assertions and regenerate affected wire snapshots
5 tasks
sailist
added a commit
that referenced
this pull request
Jul 13, 2026
… with v1 (#1631) * fix(agent-core-v2): surface provider rejection on post-refresh 401 - map a 401 that survives forced token refresh to PROVIDER_AUTH_ERROR carrying the provider's sanitized message, instead of a misleading AUTH_LOGIN_REQUIRED re-login prompt - propagate provider auth errors through full compaction instead of wrapping them as compaction failure - export sanitizeStatusErrorMessage for reuse * fix(agent-core-v2): align repeat-reminder and AskUserQuestion copy with v1 - rewrite repeated tool call reminders to redirect instead of prohibit (port of v1 #1518) - simplify makeReminderText2 to (repeatCount), no longer echoing tool name and args - treat dismissed AskUserQuestion as no answer, not the recommended pick (port of v1 #1550) - update toolDedupe test assertions and regenerate affected wire snapshots * chore: add changeset for v2 reminder and question copy alignment * fix(kap-server): drain in-flight heartbeat writes before unlinking the instance file - count writes that passed the released check and await them in release() so their atomic rename cannot recreate the file after unlink - harden the heartbeat test: 1ms cadence plus a post-release re-check catches the recreate-after-unlink race (verified failing on old code) * docs(agent-core-v2): move toProviderAuthError rationale to the file header Address Codex review: agent-core-v2 keeps comments in the top-of-file header only, never beside functions
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Related Issue
No linked issue — the problem is explained below.
Problem
When a user dismisses an
AskUserQuestionprompt (ESC / close), the tool description told the model to "proceed with your best judgment". In practice the model read this as "go with the option I marked (Recommended)", so a dismissal silently became an implicit selection of the recommended option instead of the user declining to answer.What changed
Updated the model-facing
AskUserQuestiontool description so a dismissed question (emptyanswerswith anote) is described as the user choosing not to answer, with an explicit instruction not to treat it as selecting the recommended option and to decide based on context instead. The dismiss result payload and the web pre-selection behavior are unchanged. Added a patch changeset for@moonshot-ai/kimi-code.Checklist
gen-changesetsskill, or this PR needs no changeset.gen-docsskill, or this PR needs no doc update. (No user-facing doc change needed for an internal prompt tweak.)