Commit 66e679e
[argus] loop_detector: drop layer-2 frequency detection
Layer 2 counted every call to a tool *name* regardless of args, then
warned at 30 / hard-stopped at 50. The intent (per the docstring) was to
"catch cross-file read loops that hash-based detection misses": model
gets lost, calls read_file across 40 different files, layer 1 doesn't
fire because each call has a distinct key. In practice it false-positives
on legitimate high-cardinality work — argus thread 5077dd8e (Webfuse
docs audit) tripped the warning twice while crawling distinct URLs, and
the model misread the warning as a hard quota and stopped.
Layer 1 + the edit-aware reset shipped in 3bac95e are now strong enough
to handle the verifier-iteration false positive that originally pushed
us toward layer 2 as a backstop. The remaining layer-2-only signal
(genuine cross-arg drift) is rare on a single-user local box and the
recursion limit catches the truly pathological cases.
Removes:
- _DEFAULT_TOOL_FREQ_WARN / _DEFAULT_TOOL_FREQ_HARD_LIMIT constants
- _TOOL_FREQ_WARNING_MSG / _TOOL_FREQ_HARD_STOP_MSG constants
- tool_freq_warn / tool_freq_hard_limit constructor params
- self._tool_freq / self._tool_freq_warned per-thread state
- the layer-2 block at the end of _track_and_check
- TestToolFrequencyDetection (10 tests) plus the LRU-eviction
assertions on _tool_freq[*]
46 loop-detection tests still pass (was 56; the dropped 10 were all
TestToolFrequencyDetection plus 2 nested LRU asserts).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 3bac95e commit 66e679e
2 files changed
Lines changed: 2 additions & 256 deletions
File tree
- backend
- packages/harness/deerflow/agents/middlewares
- tests
Lines changed: 2 additions & 71 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
36 | | - | |
37 | 35 | | |
38 | 36 | | |
39 | 37 | | |
| |||
171 | 169 | | |
172 | 170 | | |
173 | 171 | | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | 172 | | |
183 | 173 | | |
184 | | - | |
185 | | - | |
186 | 174 | | |
187 | 175 | | |
188 | 176 | | |
| |||
196 | 184 | | |
197 | 185 | | |
198 | 186 | | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | | - | |
205 | 187 | | |
206 | 188 | | |
207 | 189 | | |
| |||
210 | 192 | | |
211 | 193 | | |
212 | 194 | | |
213 | | - | |
214 | | - | |
215 | 195 | | |
216 | 196 | | |
217 | 197 | | |
218 | 198 | | |
219 | 199 | | |
220 | 200 | | |
221 | | - | |
222 | | - | |
223 | 201 | | |
224 | 202 | | |
225 | 203 | | |
226 | 204 | | |
227 | | - | |
228 | | - | |
229 | | - | |
230 | 205 | | |
231 | 206 | | |
232 | 207 | | |
| |||
248 | 223 | | |
249 | 224 | | |
250 | 225 | | |
251 | | - | |
252 | | - | |
253 | 226 | | |
254 | 227 | | |
255 | 228 | | |
256 | 229 | | |
257 | 230 | | |
258 | 231 | | |
259 | | - | |
260 | | - | |
261 | | - | |
262 | | - | |
263 | | - | |
| 232 | + | |
| 233 | + | |
264 | 234 | | |
265 | 235 | | |
266 | 236 | | |
| |||
331 | 301 | | |
332 | 302 | | |
333 | 303 | | |
334 | | - | |
335 | 304 | | |
336 | 305 | | |
337 | 306 | | |
| |||
359 | 328 | | |
360 | 329 | | |
361 | 330 | | |
362 | | - | |
363 | | - | |
364 | | - | |
365 | | - | |
366 | | - | |
367 | | - | |
368 | | - | |
369 | | - | |
370 | | - | |
371 | | - | |
372 | | - | |
373 | | - | |
374 | | - | |
375 | | - | |
376 | | - | |
377 | | - | |
378 | | - | |
379 | | - | |
380 | | - | |
381 | | - | |
382 | | - | |
383 | | - | |
384 | | - | |
385 | | - | |
386 | | - | |
387 | | - | |
388 | | - | |
389 | | - | |
390 | | - | |
391 | | - | |
392 | | - | |
393 | | - | |
394 | | - | |
395 | | - | |
396 | 331 | | |
397 | 332 | | |
398 | 333 | | |
| |||
468 | 403 | | |
469 | 404 | | |
470 | 405 | | |
471 | | - | |
472 | | - | |
473 | 406 | | |
474 | 407 | | |
475 | 408 | | |
476 | 409 | | |
477 | | - | |
478 | 410 | | |
479 | | - | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
328 | 328 | | |
329 | 329 | | |
330 | 330 | | |
331 | | - | |
332 | | - | |
333 | 331 | | |
334 | 332 | | |
335 | 333 | | |
| |||
501 | 499 | | |
502 | 500 | | |
503 | 501 | | |
504 | | - | |
505 | | - | |
506 | | - | |
507 | | - | |
508 | | - | |
509 | | - | |
510 | | - | |
511 | | - | |
512 | | - | |
513 | | - | |
514 | | - | |
515 | | - | |
516 | | - | |
517 | | - | |
518 | | - | |
519 | | - | |
520 | | - | |
521 | | - | |
522 | | - | |
523 | | - | |
524 | | - | |
525 | | - | |
526 | | - | |
527 | | - | |
528 | | - | |
529 | | - | |
530 | | - | |
531 | | - | |
532 | | - | |
533 | | - | |
534 | | - | |
535 | | - | |
536 | | - | |
537 | | - | |
538 | | - | |
539 | | - | |
540 | | - | |
541 | | - | |
542 | | - | |
543 | | - | |
544 | | - | |
545 | | - | |
546 | | - | |
547 | | - | |
548 | | - | |
549 | | - | |
550 | | - | |
551 | | - | |
552 | | - | |
553 | | - | |
554 | | - | |
555 | | - | |
556 | | - | |
557 | | - | |
558 | | - | |
559 | | - | |
560 | | - | |
561 | | - | |
562 | | - | |
563 | | - | |
564 | | - | |
565 | | - | |
566 | | - | |
567 | | - | |
568 | | - | |
569 | | - | |
570 | | - | |
571 | | - | |
572 | | - | |
573 | | - | |
574 | | - | |
575 | | - | |
576 | | - | |
577 | | - | |
578 | | - | |
579 | | - | |
580 | | - | |
581 | | - | |
582 | | - | |
583 | | - | |
584 | | - | |
585 | | - | |
586 | | - | |
587 | | - | |
588 | | - | |
589 | | - | |
590 | | - | |
591 | | - | |
592 | | - | |
593 | | - | |
594 | | - | |
595 | | - | |
596 | | - | |
597 | | - | |
598 | | - | |
599 | | - | |
600 | | - | |
601 | | - | |
602 | | - | |
603 | | - | |
604 | | - | |
605 | | - | |
606 | | - | |
607 | | - | |
608 | | - | |
609 | | - | |
610 | | - | |
611 | | - | |
612 | | - | |
613 | | - | |
614 | | - | |
615 | | - | |
616 | | - | |
617 | | - | |
618 | | - | |
619 | | - | |
620 | | - | |
621 | | - | |
622 | | - | |
623 | | - | |
624 | | - | |
625 | | - | |
626 | | - | |
627 | | - | |
628 | | - | |
629 | | - | |
630 | | - | |
631 | | - | |
632 | | - | |
633 | | - | |
634 | | - | |
635 | | - | |
636 | | - | |
637 | | - | |
638 | | - | |
639 | | - | |
640 | | - | |
641 | | - | |
642 | | - | |
643 | | - | |
644 | | - | |
645 | | - | |
646 | | - | |
647 | | - | |
648 | | - | |
649 | | - | |
650 | | - | |
651 | | - | |
652 | | - | |
653 | | - | |
654 | | - | |
655 | | - | |
656 | | - | |
657 | | - | |
658 | | - | |
659 | | - | |
660 | | - | |
661 | | - | |
662 | | - | |
663 | | - | |
664 | | - | |
665 | | - | |
666 | | - | |
667 | | - | |
668 | | - | |
669 | | - | |
670 | | - | |
671 | | - | |
672 | | - | |
673 | | - | |
674 | | - | |
675 | | - | |
676 | | - | |
677 | | - | |
678 | | - | |
679 | | - | |
680 | | - | |
681 | | - | |
682 | | - | |
683 | | - | |
684 | | - | |
685 | | - | |
686 | | - | |
687 | 502 | | |
688 | 503 | | |
689 | 504 | | |
| |||
0 commit comments