diff --git a/internal/agent/agent_tool.go b/internal/agent/agent_tool.go index 1814a7e17..eeada9b04 100644 --- a/internal/agent/agent_tool.go +++ b/internal/agent/agent_tool.go @@ -1639,18 +1639,6 @@ func simStripPaddedLineNumberPrefixes(text, content string) string { return strings.Join(lines, "\n") } -func simStripAllLineNumberPrefixes(text string) string { - lines := simTrimDanglingReadFileLineNumberOnlyLines(strings.Split(text, "\n")) - for i, l := range lines { - if simReadFileLineNumberOnlyRE.MatchString(l) { - lines[i] = "" - continue - } - lines[i] = simLineNumberPrefixRE.ReplaceAllString(l, "") - } - return strings.Join(lines, "\n") -} - func simTrimDanglingReadFileLineNumberOnlyLines(lines []string) []string { if len(lines) == 0 { return lines diff --git a/internal/agent/model_cascade.go b/internal/agent/model_cascade.go index 5d13f196d..07f59d42d 100644 --- a/internal/agent/model_cascade.go +++ b/internal/agent/model_cascade.go @@ -33,7 +33,6 @@ package agent import ( "github.com/topcheer/ggcode/internal/debug" - "github.com/topcheer/ggcode/internal/provider" ) // cascadeMinLowBatches is how many consecutive all-read-only, error-free @@ -149,8 +148,3 @@ func (a *Agent) restoreModelCascade() { a.cascadeSavedProvider = nil debug.Log("model-cascade", "restored main model provider") } - -// cascadeTurnProvider is the provider a NEW agent-level request would use; -// exposed for tests to assert swap/restore behavior without racing the -// loop. -func (a *Agent) cascadeTurnProvider() provider.Provider { return a.provider } diff --git a/internal/agent/tool_fallback_hints.go b/internal/agent/tool_fallback_hints.go index 330363a1e..c897e6a3e 100644 --- a/internal/agent/tool_fallback_hints.go +++ b/internal/agent/tool_fallback_hints.go @@ -141,16 +141,6 @@ func lspFallbackHint(lowerErr string) string { return "" } -// isEmptyToolResult checks if the error indicates no results were found. -// #3673-A: "not found" and "empty" removed - a successful search result's -// content IS the searched file's content, and ordinary source lines carry -// those words constantly ("// err is not found here", "// list is empty"). -// Kept phrases are the explicit no-match sentinels only. -func isEmptyToolResult(s string) bool { - return strings.Contains(s, "no match") || strings.Contains(s, "no result") || - strings.Contains(s, "no symbol") -} - // isZeroMatchSuccess reports whether a SUCCESS (non-error) tool result is a // zero-match outcome for a search-class tool (#3641). grep/search_files // render "No matches found" as a successful empty result, so IsError-gated