• Stefy Lanza (nextime / spora )'s avatar
    text: add cross-turn tool-call loop guard (per-model + global) · 79ea70d6
    Stefy Lanza (nextime / spora ) authored
    A model can get stuck re-issuing the same tool call with the same arguments when
    each attempt fails (e.g. memory replace old_text=X → "No entry matched" on the
    wrong memory tier) — or when the call spills as un-parsed call:NAME{…} markup
    into assistant content. Each brokered request carries the full history, so
    coderai can see the repetition the agent's own tool-runner didn't break.
    
    _detect_tool_loop scans the recent history for a (tool, arguments) signature
    repeated >= threshold times where those attempts failed (per the tool result) or
    spilled as markup, and injects one system reminder before generation telling the
    model to stop repeating the call. Covers both structured tool_calls and spilled
    gemma-style markup.
    
    Configurable on every model: per-model models.json tool_loop_guard /
    tool_loop_repeats override the global models.tool_loop_* (default on, repeats=3);
    repeats<=0 disables.
    Co-Authored-By: 's avatarClaude Opus 4.8 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01RdMufYvtTbtGDWsiZVoXce
    79ea70d6
Name
Last commit
Last update
..
admin Loading commit data...
api Loading commit data...
backends Loading commit data...
broker Loading commit data...
frontproxy Loading commit data...
models Loading commit data...
openai Loading commit data...
pydantic Loading commit data...
queue Loading commit data...
tasks Loading commit data...
__init__.py Loading commit data...
cli.py Loading commit data...
config.py Loading commit data...
main.py Loading commit data...
platform_paths.py Loading commit data...
system_app.py Loading commit data...