From fe335db0cdc72cc190c290479d24c6469e2c07ab Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Fri, 31 Jul 2026 19:28:16 +0200 Subject: docs: correct the follow-up tool call claim The comments and README stated flatly that a second tool call always comes back as literal XML. On llama.cpp b10208 that is no longer true: forcing a follow-up by starving the first search gave 1/5 parsed as a structured call, 1/5 leaking XML, 3/5 answered without searching again. Earlier builds never parsed it. Still not reliable enough to raise max_searches, since the failure mode is a blank reply, but the wording should not read as permanent when it was measured once against one build. Co-Authored-By: Claude Opus 5 --- docs/superpowers/specs/2026-07-31-web-search-design.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'docs/superpowers') diff --git a/docs/superpowers/specs/2026-07-31-web-search-design.md b/docs/superpowers/specs/2026-07-31-web-search-design.md index 46ebc91..36732f7 100644 --- a/docs/superpowers/specs/2026-07-31-web-search-design.md +++ b/docs/superpowers/specs/2026-07-31-web-search-design.md @@ -249,7 +249,17 @@ structured call for the loop to act on, so the turn ends with a blank reply. Reproduced 3/3 with Qwen3.5-9B through the router. A retry with the tool withdrawn was tried and rejected: it recovered an answer only some of the time and could surface the raw XML to the user, which is worse than the -blank it replaces. The cap is 1 until the template parses follow-up calls. +blank it replaces. + +Retested on llama.cpp b10208, forcing a follow-up by starving the first +search: 1/5 parsed as a structured call, 1/5 still leaked XML, 3/5 answered +without searching again. So newer builds do parse follow-up calls sometimes, +where earlier ones never did. Not reliable enough to raise the cap: the +failure mode is a blank reply, which is the worst available output. + +In practice this is rarer than those numbers suggest. With enough search +engines enabled the first round returns plenty, so the model seldom needs a +second call at all. ## Notes -- cgit v1.2.3