You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(mcp): move mini-prompt injection from system prompt to user messages
Mini-prompts appended to the end of the system prompt were being treated
as reference material by models rather than actionable instructions.
Move injection to two strategies:
- Ephemeral: append mini-prompt content to the last user message at
API call time (not persisted). Models pay attention to user-message
content, giving mini-prompts immediate salience.
- One-time persist: when mini-prompts are enabled mid-conversation,
add a hidden system-generated user message to history so the model
retains context for its decisions even after the prompt is disabled.
ChatWidget still handles first-message injection (persisted in
userContext for continuity). The existing userContext dedup stripping
handles old messages at API time.
Copy file name to clipboardExpand all lines: Resources/whats-new.json
+21Lines changed: 21 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,26 @@
1
1
{
2
2
"releases": [
3
+
{
4
+
"version": "20260408.1",
5
+
"release_date": "April 8, 2026",
6
+
"introduction": "This release fixes a bug where mini-prompts disappeared mid-conversation, and includes UI improvements for smoother scrolling and conversation navigation.",
7
+
"improvements": [
8
+
{
9
+
"id": "scroll-system-rewrite",
10
+
"icon": "arrow.up.arrow.down.circle.fill",
11
+
"title": "Rewritten Scroll System",
12
+
"description": "The conversation scroll system has been completely rewritten to fix content jumping off-screen. Conversations now scroll to the newest message and auto-focus the input field when opened."
"description": "Mini-prompts are now injected directly into user messages at API call time, so agents act on them immediately instead of treating them as background context. When you enable a mini-prompt mid-conversation, it's persisted once as a hidden message for continuity and injected ephemerally on every turn for attention."
/// one-time mid-conversation persist and ephemeral per-turn injection.
3058
3057
logger.info("MINI_PROMPT_TRACE: ChatWidget injected \(enabledPrompts.count) mini-prompt(s) into FIRST user message: \(enabledPrompts.map{ $0.name }.joined(separator:", "))")
3059
3058
}else{
3060
3059
logger.debug("MINI_PROMPT_TRACE: ChatWidget miniPromptText was empty")
0 commit comments