claudetool: add callback hook system to patch tool

We'll use this to improve non-root guidance file usage
and to warm up the codereview Go build cache.

Co-Authored-By: sketch <hello@sketch.dev>
Change-ID: s01ff6f94febc4485k
diff --git a/loop/agent.go b/loop/agent.go
index f8ee4e8..538bce8 100644
--- a/loop/agent.go
+++ b/loop/agent.go
@@ -1269,7 +1269,7 @@
 	browserTools = bTools
 
 	convo.Tools = []*llm.Tool{
-		bashTool, claudetool.Keyword, claudetool.Patch,
+		bashTool, claudetool.Keyword, claudetool.Patch(nil),
 		claudetool.Think, claudetool.TodoRead, claudetool.TodoWrite, a.setSlugTool(), a.commitMessageStyleTool(), makeDoneTool(a.codereview),
 		a.codereview.Tool(), claudetool.AboutSketch,
 	}