package agent import ( "reflect" "testing" ) func TestClassifyToolCommand_UnwrapsShellAndClassifiesVerbs(t *testing.T) { cases := []struct { name string command string want []ToolCategory }{ { name: "read through zsh wrapper", command: "/run/current-system/sw/bin/zsh -lc 'cat file.txt'", want: []ToolCategory{ToolRead}, }, { name: "grep is read", command: "bash -lc 'grep -rn foo internal/'", want: []ToolCategory{ToolRead}, }, { name: "go test is test_lint", command: "bash -lc 'go test ./...'", want: []ToolCategory{ToolTestLint}, }, { name: "go build is other", command: "bash -lc 'go build ./cmd/x'", want: []ToolCategory{ToolOther}, }, { name: "git is git", command: "zsh -lc 'git commit -m wip'", want: []ToolCategory{ToolGit}, }, { name: "apply_patch is edit", command: "bash -lc 'apply_patch <