tenseleyflow/loader / 395c2ec

Browse files

Always append tool results to session before verification gate check

Authored by espadonne
SHA
395c2ecb56bb9275922428bc5635352491ace483
Parents
dd052a1
Tree
d99a737

1 changed file

StatusFile+-
M src/loader/runtime/tool_batches.py 8 5
src/loader/runtime/tool_batches.pymodified
@@ -172,6 +172,13 @@ class ToolBatchRunner:
172172
                 )
173173
             )
174174
 
175
+            # Always append tool results to the session so the model sees
176
+            # its own output.  The verification gate may inject a correction
177
+            # prompt, but the original result must still be in context —
178
+            # otherwise the model operates blind and loops.
179
+            self.context.session.append(outcome.message)
180
+            summary.tool_result_messages.append(outcome.message)
181
+
175182
             should_continue = await self.verification_gate.should_continue(
176183
                 tool_call=tool_call,
177184
                 outcome=outcome,
@@ -179,21 +186,17 @@ class ToolBatchRunner:
179186
             )
180187
 
181188
             rlog = get_runtime_logger()
182
-            appended = not should_continue
183189
             rlog.tool_exec(
184190
                 name=tool_call.name,
185191
                 state=outcome.state.value,
186192
                 is_error=outcome.is_error,
187193
                 result_preview=outcome.event_content,
188
-                appended_to_session=appended,
194
+                appended_to_session=True,
189195
             )
190196
             if should_continue:
191197
                 rlog.verification_gate(tool_call.name, should_continue=True)
192198
                 continue
193199
 
194
-            self.context.session.append(outcome.message)
195
-            summary.tool_result_messages.append(outcome.message)
196
-
197200
         if result.consecutive_errors >= 3:
198201
             final_response = (
199202
                 "I ran into some issues. "