YotamPeled and Claude Opus 4.8
adbcb3763f
fix(agent): don't abort legitimate tool batches as runaway loops ( #3183 )
...
The loop-breaker's runaway backstop counted per-tool-type call totals and
tripped whenever any tool was used >=15 times — treating 15+ DISTINCT calls
to one tool as a stuck loop. A real batch (e.g. "add these 18 birthdays to my
calendar" emits 18 distinct manage_calendar create_event calls in one round)
got flagged "calling manage_calendar over and over", the calls were discarded
(next round tools_sent=0), and 0 events were created.
Count IDENTICAL repeated call signatures instead (same tool AND args), via a
small, unit-testable _detect_runaway_call() helper. Genuine batches pass; a
model truly stuck repeating one call still trips the backstop. Adds a
regression test.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 16:16:17 +02:00
..
2026-06-04 18:57:24 +02:00
2026-06-05 09:24:04 +01:00
2026-06-07 16:16:17 +02:00
2026-06-01 16:54:11 +09:00
2026-06-05 23:05:02 +02:00
2026-06-04 00:37:28 +01:00
2026-06-04 04:47:13 +01:00
2026-06-03 09:00:04 +09:00
2026-06-04 16:26:11 +01:00
2026-05-31 23:58:26 +09:00
2026-06-07 12:55:01 +02:00
2026-06-05 14:41:07 +02:00
2026-06-03 14:11:45 +09:00
2026-06-05 22:47:57 +02:00
2026-06-01 15:09:47 +09:00
2026-06-07 05:05:24 +01:00
2026-06-07 05:05:24 +01:00
2026-06-07 12:39:02 +02:00
2026-06-03 13:36:50 +09:00
2026-06-04 13:20:04 +01:00
2026-06-01 22:22:41 +09:00
2026-06-03 14:14:27 +09:00
2026-06-01 15:09:47 +09:00
2026-06-05 23:05:02 +02:00
2026-06-03 00:13:53 +09:00
2026-06-07 14:47:44 +02:00
2026-06-05 14:41:43 +09:00
2026-06-04 21:13:14 +02:00
2026-05-31 23:58:26 +09:00
2026-06-06 03:37:10 -06:00
2026-06-03 13:23:01 +09:00
2026-06-07 12:39:02 +02:00
2026-06-03 14:06:31 +09:00
2026-06-06 03:17:19 -06:00
2026-06-05 14:47:24 +02:00
2026-06-04 21:13:14 +02:00
2026-05-31 23:58:26 +09:00
2026-05-31 23:58:26 +09:00
2026-06-05 10:33:47 +02:00
2026-06-06 03:37:10 -06:00
2026-06-05 22:47:57 +02:00
2026-06-06 04:30:16 -06:00
2026-06-03 09:00:10 +09:00
2026-06-05 16:32:25 +02:00
2026-06-05 02:40:52 +02:00
2026-06-04 16:26:11 +01:00
2026-06-06 03:17:19 -06:00
2026-06-04 05:31:15 +01:00
2026-06-05 15:56:54 +02:00
2026-06-03 14:11:31 +09:00
2026-06-03 14:24:07 +09:00
2026-05-31 23:58:26 +09:00
2026-06-01 18:27:17 +09:00
2026-06-03 13:42:05 +09:00
2026-06-03 14:12:31 +09:00
2026-05-31 23:58:26 +09:00
2026-06-07 12:56:57 +02:00
2026-06-01 14:32:13 +09:00
2026-06-06 03:17:19 -06:00
2026-05-31 23:58:26 +09:00
2026-06-02 23:33:22 +09:00
2026-05-31 23:58:26 +09:00
2026-06-05 20:49:42 +02:00
2026-06-03 13:42:24 +09:00
2026-06-01 15:09:47 +09:00
2026-06-07 14:47:44 +02:00
2026-06-05 18:08:31 -06:00
2026-06-07 12:52:27 +02:00
2026-06-05 22:47:57 +02:00
2026-06-03 02:40:22 +09:00
2026-06-07 15:33:17 +02:00
2026-06-03 13:31:26 +09:00
2026-06-04 19:26:58 +02:00
2026-06-04 13:18:50 +01:00
2026-06-06 18:48:24 -06:00
2026-06-07 15:19:08 +02:00
2026-06-07 15:19:08 +02:00
2026-06-06 03:46:31 -06:00
2026-06-06 18:48:24 -06:00
2026-06-07 15:19:08 +02:00
2026-06-05 16:32:25 +02:00
2026-06-02 20:44:27 +09:00
2026-06-04 12:06:24 +02:00
2026-06-04 00:32:50 +01:00
2026-06-03 08:59:49 +09:00
2026-06-03 22:47:00 +09:00
2026-06-04 13:20:04 +01:00
2026-06-04 13:42:49 +01:00
2026-06-07 04:55:33 +01:00
2026-06-03 13:29:08 +09:00