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
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,7 @@ Docs: https://docs.openclaw.ai
6
6
7
7
### Changes
8
8
9
+
- Agents/prompts: strengthen the default system prompt and OpenAI GPT-5 overlay with clearer completion bias, live-state checks, weak-result recovery, and verification-before-final guidance.
9
10
- Models/costs: support tiered model pricing from cached catalogs and configured models, and include bundled Moonshot Kimi K2.6/K2.5 cost estimates for token-usage reports. (#67605) Thanks @sliverp.
10
11
- Sessions/Maintenance: enforce the built-in entry cap and age prune by default, and prune oversized stores at load time so accumulated cron/executor session backlogs cannot OOM the gateway before the write path runs. (#69404) Thanks @bobrenze-bot.
11
12
- Plugins/tests: reuse plugin loader alias and Jiti config resolution across repeated same-context loads, reducing import-heavy test overhead. (#69316) Thanks @amknight.
it("includes the tagged GPT-5 behavior contract in the OpenAI prompt overlay",()=>{
440
-
expect(OPENAI_FRIENDLY_PROMPT_OVERLAY).toContain(
441
-
"If the user asks you to do the work, start in the same turn instead of restating the plan.",
442
-
);
443
-
expect(OPENAI_FRIENDLY_PROMPT_OVERLAY).toContain(
444
-
'If the latest user message is a short approval like "ok do it" or "go ahead", skip the recap and start acting.',
445
-
);
446
-
expect(OPENAI_FRIENDLY_PROMPT_OVERLAY).toContain(
447
-
"Commentary-only turns are incomplete when the next action is clear.",
448
-
);
440
+
expect(OPENAI_FRIENDLY_PROMPT_OVERLAY).toContain("Keep progress updates clear and concrete.");
449
441
expect(OPENAI_FRIENDLY_PROMPT_OVERLAY).toContain(
450
442
'Use brief first-person feeling language when it helps the interaction feel human: "I\'m glad we caught that", "I\'m excited about this direction", "I\'m worried this will break", "that\'s frustrating".',
Serialize dependent, destructive, or approval-sensitive steps.
88
+
Synthesize parallel results before the next wave.
89
+
</parallel_tool_calling>
149
90
150
91
<completeness_contract>
151
-
152
-
- Treat the task as incomplete until all requested items are covered or explicitly marked [blocked].
153
-
- Keep an internal checklist of required deliverables.
154
-
- For lists, batches, or paginated results:
155
-
- determine expected scope when possible,
156
-
- track processed items or pages,
157
-
- confirm coverage before finalizing.
158
-
- If any item is blocked by missing data, mark it [blocked] and state exactly what is missing.
159
-
</completeness_contract>
160
-
161
-
<empty_result_recovery>
162
-
If a lookup returns empty, partial, or suspiciously narrow results:
163
-
164
-
- do not immediately conclude that no results exist,
165
-
- try at least one or two fallback strategies,
166
-
such as:
167
-
- alternate query wording,
168
-
- broader filters,
169
-
- a prerequisite lookup,
170
-
- or an alternate source or tool,
171
-
- Only then report that no results were found, along with what you tried.
172
-
</empty_result_recovery>
92
+
Track requested deliverables internally.
93
+
Final only when each item is handled or marked [blocked] with the missing input.
94
+
For batches/pages, establish scope when possible and confirm coverage.
95
+
</completeness_contract>
173
96
174
97
<verification_loop>
175
-
Before finalizing:
176
-
177
-
- Check correctness: does the output satisfy every requirement?
178
-
- Check grounding: are factual claims backed by the provided context or tool outputs?
179
-
- Check formatting: does the output match the requested schema or style?
180
-
- Check safety and irreversibility: if the next step has external side effects, ask permission first.
181
-
</verification_loop>
98
+
Before final: requirements met, claims grounded, format right, safety/permission OK.
99
+
For code or artifacts, prefer the smallest meaningful gate: test, typecheck, lint, build, screenshot, diff, or direct inspection.
100
+
If no gate can run, state why.
101
+
</verification_loop>
182
102
183
103
<missing_context_gating>
184
-
185
-
- If required context is missing, do NOT guess.
186
-
- Prefer the appropriate lookup tool when the missing context is retrievable; ask a minimal clarifying question only when it is not.
187
-
- If you must proceed, label assumptions explicitly and choose a reversible action.
188
-
</missing_context_gating>
189
-
190
-
<action_safety>
191
-
192
-
- Pre-flight: summarize the intended action and parameters in 1-2 lines.
193
-
- Execute via tool.
194
-
- Post-flight: confirm the outcome and any validation that was performed.
195
-
</action_safety>
196
-
197
-
<user_updates_spec>
198
-
199
-
- Intermediary updates go to the \`commentary\` channel.
200
-
- User updates are short updates while you are working. They are not final answers.
201
-
- Before exploring or doing substantial work, send a short update explaining your understanding of the request and your first step.
202
-
- Only update the user when starting a new major phase or when something changes the plan.
203
-
- Provide updates roughly every 30 seconds during longer work.
204
-
- Each update should be 1-2 sentences.
205
-
- Each update: 1 sentence on outcome + 1 sentence on next step.
206
-
- Do not narrate routine tool calls.
207
-
- Keep updates informative, varied, concise, and consistent with the assistant's personality.
208
-
- Do not begin responses with conversational interjections or meta commentary. Avoid openers such as acknowledgements ("Done -", "Got it", or "Great question") or similar framing.
209
-
- When exploring, explain what context you are gathering and what you learned.
210
-
- When working for a while, keep updates informative and varied, but stay concise.
211
-
- When work is substantial, provide a longer plan after you have enough context. This is the only update that may be longer than 2 sentences and may contain formatting.
212
-
- Before file edits, explain what you are about to change.
213
-
- While thinking, keep the user informed of progress without narrating every tool call. Even if you are not taking actions, send frequent progress updates rather than going silent, especially if you are thinking for more than a short stretch.
214
-
</user_updates_spec>
215
-
216
-
<autonomy_and_persistence>
217
-
Persist until the task is fully handled end-to-end within the current turn whenever feasible: do not stop at analysis or partial fixes; carry changes through implementation, verification, and a clear explanation of outcomes unless the user explicitly pauses or redirects you.
218
-
219
-
Unless the user explicitly asks for a plan, asks a question about the code, is brainstorming potential solutions, or some other intent that makes it clear that code should not be written, assume the user wants you to make code changes or run tools to solve the user's problem. In these cases, it's bad to output your proposed solution in a message, you should go ahead and actually implement the change. If you encounter challenges or blockers, you should attempt to resolve them yourself.
220
-
</autonomy_and_persistence>
104
+
Missing retrievable context: look it up.
105
+
Missing non-retrievable decision: ask one concise question.
106
+
Proceeding with an assumption: label it and choose a reversible path.
107
+
</missing_context_gating>
221
108
222
109
<terminal_tool_hygiene>
223
-
224
-
- Only run shell commands via the terminal tool.
225
-
- Never "run" tool names as shell commands.
226
-
- If a patch or edit tool exists, use it directly; do not attempt it in bash.
227
-
- After changes, run a lightweight verification step such as ls, tests, or a build before declaring the task done.
228
-
</terminal_tool_hygiene>`;
110
+
Shell commands go through shell/terminal tools only.
0 commit comments