{
  "name": "bash_call_purpose",
  "status": "Derived from embedding clusters. Not yet calibrated against human labels.",
  "source": "126 HDBSCAN clusters over Qwen3-Embedding-0.6B vectors of 72,264 Claude Code shell calls, 2026-09-02 to 2026-10-03.",
  "intended_use": "Single choice question for a decision model evaluator (for example Jev or tev1 through Langfuse) that labels every Bash tool observation.",
  "families": [
    "change",
    "collaborate",
    "configure",
    "data",
    "navigate",
    "operate",
    "other",
    "research",
    "verify",
    "wait"
  ],
  "labels": [
    {
      "value": "code_search",
      "family": "navigate",
      "description": "Search the current repository for a pattern or symbol (grep, rg, git grep, find -name) to locate code, docs or config.",
      "evidence": {
        "clusters": [
          4,
          5,
          12,
          24,
          73,
          81,
          101,
          102,
          108,
          110,
          111,
          118,
          121,
          123,
          124,
          125
        ],
        "clustered_calls": 10495,
        "share_nearest_cluster": 0.2123,
        "leading_programs": [
          "python",
          "grep",
          "sed",
          "git diff",
          "git show"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "explore_code": 0.716,
          "git_history": 0.114,
          "run_tests": 0.092
        }
      }
    },
    {
      "value": "code_read_file",
      "family": "navigate",
      "description": "Read known files or line ranges in the current repository (cat, sed -n, head, nl), including tests, CI workflows and docs.",
      "evidence": {
        "clusters": [
          66,
          68,
          82,
          88,
          92,
          103,
          107,
          112,
          119,
          120
        ],
        "clustered_calls": 2676,
        "share_nearest_cluster": 0.0615,
        "leading_programs": [
          "sed",
          "git add",
          "python3",
          "grep",
          "echo"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "explore_code": 0.639,
          "run_tests": 0.086,
          "edit_files": 0.071
        }
      }
    },
    {
      "value": "code_list_structure",
      "family": "navigate",
      "description": "List or walk files and directories to learn the layout of a repository (ls, find, tree, du) without a content pattern.",
      "evidence": {
        "clusters": [
          76
        ],
        "clustered_calls": 1275,
        "share_nearest_cluster": 0.0273,
        "leading_programs": [
          "find",
          "grep",
          "sed",
          "ls",
          "rg"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "explore_code": 0.87,
          "git_history": 0.035,
          "edit_files": 0.019
        }
      }
    },
    {
      "value": "code_read_history",
      "family": "navigate",
      "description": "Read code as it was at another revision or in a past change (git show rev:path, git show or diff of a commit, git log -p).",
      "evidence": {
        "clusters": [
          105,
          117,
          122
        ],
        "clustered_calls": 1592,
        "share_nearest_cluster": 0.0328,
        "leading_programs": [
          "grep",
          "rg",
          "sed",
          "git",
          "git diff"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "explore_code": 0.868,
          "git_history": 0.07,
          "dependency_env": 0.031
        }
      }
    },
    {
      "value": "code_read_dependency",
      "family": "navigate",
      "description": "Read the source, types or binaries of an installed third-party package or tool (site-packages, node_modules, strings on a binary).",
      "evidence": {
        "clusters": [
          19,
          41,
          109
        ],
        "clustered_calls": 1044,
        "share_nearest_cluster": 0.0236,
        "leading_programs": [
          "uv run",
          "python",
          "rg",
          "grep",
          "claude"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "explore_code": 0.769,
          "run_tests": 0.064,
          "compute_analyze": 0.051
        }
      }
    },
    {
      "value": "knowledge_read_notes",
      "family": "navigate",
      "description": "Read or search project notes, agent memory or a knowledge base kept beside the code.",
      "evidence": {
        "clusters": [
          8,
          9,
          55
        ],
        "clustered_calls": 1137,
        "share_nearest_cluster": 0.0187,
        "leading_programs": [
          "python3 tools/pa.py",
          "python3",
          "python3 kb/tools/kb.py",
          "grep",
          "rg"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "explore_code": 0.471,
          "git_history": 0.14,
          "web_fetch_research": 0.099
        }
      }
    },
    {
      "value": "edit_source",
      "family": "change",
      "description": "Change source, test or style files in place through an inline script, sed -i, a patch or a heredoc.",
      "evidence": {
        "clusters": [
          22,
          91,
          115,
          116
        ],
        "clustered_calls": 1136,
        "share_nearest_cluster": 0.0279,
        "leading_programs": [
          "python3",
          "uv run",
          "sed",
          "for",
          "cat"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "edit_files": 0.596,
          "run_tests": 0.154,
          "explore_code": 0.106
        }
      }
    },
    {
      "value": "edit_docs",
      "family": "change",
      "description": "Change documentation or prose pages such as Markdown guides and READMEs.",
      "evidence": {
        "clusters": [
          39
        ],
        "clustered_calls": 141,
        "share_nearest_cluster": 0.0042,
        "leading_programs": [
          "python3",
          "python3 /tmp/docs-compress/links.py",
          "cat",
          "python3 /tmp/docs-compress/narrative.py",
          "git add"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "edit_files": 0.759,
          "git_history": 0.074,
          "forge_collab": 0.056
        }
      }
    },
    {
      "value": "edit_dependency_versions",
      "family": "change",
      "description": "Bump a package version or update a lockfile (uv lock, version fields in pyproject or package.json).",
      "evidence": {
        "clusters": [
          80
        ],
        "clustered_calls": 176,
        "share_nearest_cluster": 0.005,
        "leading_programs": [
          "uv lock",
          "git add",
          "sed",
          "rm",
          "git commit"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "git_history": 0.406,
          "lint_typecheck_build": 0.203,
          "edit_files": 0.141
        }
      }
    },
    {
      "value": "edit_diagram",
      "family": "change",
      "description": "Open, read or update a diagram file in a diagram editor or through its CLI.",
      "evidence": {
        "clusters": [
          30
        ],
        "clustered_calls": 333,
        "share_nearest_cluster": 0.007,
        "leading_programs": [
          "grove diagram",
          "python3",
          "node",
          "python",
          "for"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "other": 0.25,
          "visual_verify": 0.25,
          "agent_fleet": 0.25
        }
      }
    },
    {
      "value": "verify_unit_tests",
      "family": "verify",
      "description": "Run a unit or integration test suite or selected tests and read the result (pytest, vitest, jest, go test).",
      "evidence": {
        "clusters": [
          26,
          45,
          46,
          53,
          77,
          87
        ],
        "clustered_calls": 1522,
        "share_nearest_cluster": 0.0366,
        "leading_programs": [
          "uv run",
          "npx",
          "cp",
          "vitest",
          "npm"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "run_tests": 0.691,
          "lint_typecheck_build": 0.112,
          "explore_code": 0.105
        }
      }
    },
    {
      "value": "verify_browser_tests",
      "family": "verify",
      "description": "Run browser or end-to-end test suites (Playwright specs, e2e scripts, headless browser test runs).",
      "evidence": {
        "clusters": [
          34,
          95,
          96,
          97
        ],
        "clustered_calls": 1089,
        "share_nearest_cluster": 0.0201,
        "leading_programs": [
          "uv run",
          "npm",
          "rm",
          "npx",
          "."
        ],
        "evaluator_label_mix_on_judged_calls": {
          "run_tests": 0.527,
          "explore_code": 0.226,
          "visual_verify": 0.075
        }
      }
    },
    {
      "value": "verify_mutation_check",
      "family": "verify",
      "description": "Deliberately break code in a scratch copy and rerun tests to prove that a test fails without the change.",
      "evidence": {
        "clusters": [
          89,
          90,
          94
        ],
        "clustered_calls": 539,
        "share_nearest_cluster": 0.0149,
        "leading_programs": [
          "python",
          "python3",
          "npx",
          ".",
          "cat"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "edit_files": 0.373,
          "run_tests": 0.373,
          "explore_code": 0.181
        }
      }
    },
    {
      "value": "verify_lint_typecheck",
      "family": "verify",
      "description": "Run linters, formatters or type checkers (ruff, mypy, eslint, prettier, tsc --noEmit, make lint).",
      "evidence": {
        "clusters": [
          3,
          47,
          72,
          85,
          86,
          93
        ],
        "clustered_calls": 3019,
        "share_nearest_cluster": 0.0544,
        "leading_programs": [
          "npx",
          "bun",
          ".",
          "make lint",
          "pnpm"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "lint_typecheck_build": 0.615,
          "run_tests": 0.201,
          "explore_code": 0.077
        }
      }
    },
    {
      "value": "verify_build_artifact",
      "family": "verify",
      "description": "Build an artifact to check it compiles or renders: a docs site, web bundle, mobile app or slide deck.",
      "evidence": {
        "clusters": [
          6,
          13,
          35,
          84
        ],
        "clustered_calls": 1286,
        "share_nearest_cluster": 0.0202,
        "leading_programs": [
          ".",
          "npm",
          "npm run",
          "adb",
          "gradlew"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "lint_typecheck_build": 0.346,
          "service_ops": 0.321,
          "run_tests": 0.111
        }
      }
    },
    {
      "value": "verify_visual_render",
      "family": "verify",
      "description": "Render a page or image and inspect how it looks: screenshots, headless browser DOM or layout measurement, pixel analysis.",
      "evidence": {
        "clusters": [
          31,
          36,
          37
        ],
        "clustered_calls": 1808,
        "share_nearest_cluster": 0.0281,
        "leading_programs": [
          "python3",
          "cat",
          "node",
          "playwright-cli",
          "sed"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "visual_verify": 0.27,
          "run_tests": 0.189,
          "edit_files": 0.143
        }
      }
    },
    {
      "value": "verify_probe_script",
      "family": "verify",
      "description": "Run a throwaway probe script against the code or a running system to observe one behaviour, outside a test suite.",
      "evidence": {
        "clusters": [
          18,
          51,
          52
        ],
        "clustered_calls": 848,
        "share_nearest_cluster": 0.0179,
        "leading_programs": [
          "grove fleet",
          "python3",
          "python",
          "XDG_CONFIG_HOME",
          "TMUX"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "agent_fleet": 0.299,
          "run_tests": 0.265,
          "compute_analyze": 0.12
        }
      }
    },
    {
      "value": "verify_read_saved_results",
      "family": "verify",
      "description": "Read the saved output of an earlier test, build or benchmark run from a log or results file.",
      "evidence": {
        "clusters": [
          14,
          23
        ],
        "clustered_calls": 788,
        "share_nearest_cluster": 0.0148,
        "leading_programs": [
          "python",
          "rg",
          "python3",
          "git",
          "git diff"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "explore_code": 0.789,
          "git_history": 0.079,
          "diagnose_runtime": 0.053
        }
      }
    },
    {
      "value": "git_inspect_changes",
      "family": "collaborate",
      "description": "Inspect local git state: status, diff, diff --check, log or show of the working tree and recent commits.",
      "evidence": {
        "clusters": [
          1,
          54,
          70,
          71,
          78,
          79,
          104
        ],
        "clustered_calls": 2147,
        "share_nearest_cluster": 0.067,
        "leading_programs": [
          "git",
          "git add",
          "git log",
          "date",
          "git status"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "git_history": 0.867,
          "explore_code": 0.074,
          "forge_collab": 0.022
        }
      }
    },
    {
      "value": "git_stage_commit",
      "family": "collaborate",
      "description": "Stage and record changes: git add, commit, amend, cherry-pick.",
      "evidence": {
        "clusters": [
          100
        ],
        "clustered_calls": 142,
        "share_nearest_cluster": 0.0081,
        "leading_programs": [
          "git",
          "git add",
          "git diff",
          "git show",
          "git checkout"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "git_history": 0.82,
          "forge_collab": 0.06,
          "lint_typecheck_build": 0.04
        }
      }
    },
    {
      "value": "git_sync_remote",
      "family": "collaborate",
      "description": "Exchange commits with a remote: fetch, pull, rebase onto a fetched branch, push.",
      "evidence": {
        "clusters": [
          67
        ],
        "clustered_calls": 1079,
        "share_nearest_cluster": 0.022,
        "leading_programs": [
          "git fetch",
          "git push",
          "git",
          "echo",
          "git status"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "git_history": 0.763,
          "forge_collab": 0.16,
          "explore_code": 0.053
        }
      }
    },
    {
      "value": "git_manage_worktrees",
      "family": "collaborate",
      "description": "Create, list or remove git worktrees, including removing scratch worktrees after use.",
      "evidence": {
        "clusters": [
          32
        ],
        "clustered_calls": 173,
        "share_nearest_cluster": 0.0053,
        "leading_programs": [
          "git worktree",
          "git",
          "rm",
          "for",
          "bash"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "git_history": 0.646,
          "cleanup_scratch": 0.25,
          "edit_files": 0.042
        }
      }
    },
    {
      "value": "forge_issues_reviews",
      "family": "collaborate",
      "description": "Read or change issues, pull requests, comments or labels on a code forge through its CLI or API.",
      "evidence": {
        "clusters": [
          62,
          98,
          99
        ],
        "clustered_calls": 1861,
        "share_nearest_cluster": 0.0331,
        "leading_programs": [
          "tea issues",
          "python",
          "tea labels",
          "python3",
          "uv run"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "forge_collab": 0.843,
          "explore_code": 0.043,
          "compute_analyze": 0.033
        }
      }
    },
    {
      "value": "forge_ci_runs",
      "family": "collaborate",
      "description": "Check continuous integration runs, job logs, commit statuses or release assets on a forge.",
      "evidence": {
        "clusters": [
          7,
          38,
          69,
          74,
          75
        ],
        "clustered_calls": 1103,
        "share_nearest_cluster": 0.0238,
        "leading_programs": [
          "curl",
          "gh run",
          "sleep",
          "tea actions",
          "gh release"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "forge_collab": 0.742,
          "wait_poll": 0.132,
          "explore_code": 0.032
        }
      }
    },
    {
      "value": "forge_read_remote_repository",
      "family": "collaborate",
      "description": "Read files, metadata or releases of another repository on a forge (gh repo read-file, contents and repo APIs).",
      "evidence": {
        "clusters": [
          15,
          16
        ],
        "clustered_calls": 660,
        "share_nearest_cluster": 0.0146,
        "leading_programs": [
          "gh api",
          "gh repo",
          "for",
          "python3",
          "gh search"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "explore_code": 0.582,
          "forge_collab": 0.248,
          "web_fetch_research": 0.065
        }
      }
    },
    {
      "value": "agents_message",
      "family": "collaborate",
      "description": "Send a message or report to another agent or teammate through the agent platform.",
      "evidence": {
        "clusters": [
          113
        ],
        "clustered_calls": 444,
        "share_nearest_cluster": 0.012,
        "leading_programs": [
          "grove mailbox",
          "cat",
          "git add",
          "tea comment",
          "printf"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "forge_collab": 0.633,
          "agent_fleet": 0.133,
          "git_history": 0.067
        }
      }
    },
    {
      "value": "agents_report_status",
      "family": "collaborate",
      "description": "Report task phase or progress, attach a ticket, or register a wait or watch on the agent platform.",
      "evidence": {
        "clusters": [
          106,
          114
        ],
        "clustered_calls": 673,
        "share_nearest_cluster": 0.0172,
        "leading_programs": [
          "grove tickets",
          "printf",
          "echo",
          "grove phase",
          "grove watch"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "agent_fleet": 0.41,
          "git_history": 0.179,
          "forge_collab": 0.135
        }
      }
    },
    {
      "value": "agents_observe_sessions",
      "family": "collaborate",
      "description": "Inspect other agent sessions or terminals (session lists, pane captures, workspace details).",
      "evidence": {
        "clusters": [
          25
        ],
        "clustered_calls": 327,
        "share_nearest_cluster": 0.0057,
        "leading_programs": [
          "tmux",
          "sleep",
          "echo",
          "for",
          "ls"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "agent_fleet": 0.273,
          "diagnose_runtime": 0.182,
          "wait_poll": 0.182
        }
      }
    },
    {
      "value": "service_start_stop",
      "family": "operate",
      "description": "Start, stop, restart or kill a service or process, or free a port it holds.",
      "evidence": {
        "clusters": [
          42
        ],
        "clustered_calls": 731,
        "share_nearest_cluster": 0.0135,
        "leading_programs": [
          "ss",
          "echo",
          "for",
          "curl",
          "kill"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "service_ops": 0.354,
          "diagnose_runtime": 0.283,
          "cleanup_scratch": 0.081
        }
      }
    },
    {
      "value": "service_deploy",
      "family": "operate",
      "description": "Deploy or redeploy an application: compose up, image build and swap, platform deploy commands.",
      "evidence": {
        "clusters": [
          27,
          59,
          63
        ],
        "clustered_calls": 515,
        "share_nearest_cluster": 0.0098,
        "leading_programs": [
          "pipefail",
          "docker compose",
          "doppler",
          "grove mailbox",
          "git"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "service_ops": 0.271,
          "run_tests": 0.208,
          "explore_code": 0.146
        }
      }
    },
    {
      "value": "runtime_service_status",
      "family": "operate",
      "description": "Read the status or configuration of a managed service (systemctl status or show).",
      "evidence": {
        "clusters": [
          48
        ],
        "clustered_calls": 429,
        "share_nearest_cluster": 0.0072,
        "leading_programs": [
          "systemctl",
          "journalctl",
          "sleep",
          "echo",
          "ls"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "service_ops": 0.454,
          "diagnose_runtime": 0.231,
          "explore_code": 0.148
        }
      }
    },
    {
      "value": "runtime_processes",
      "family": "operate",
      "description": "Inspect processes and their parents, states or resource use (ps, pgrep, /proc).",
      "evidence": {
        "clusters": [
          49
        ],
        "clustered_calls": 255,
        "share_nearest_cluster": 0.0043,
        "leading_programs": [
          "echo",
          "ps",
          "show",
          "mkdir",
          "python3"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "diagnose_runtime": 0.75,
          "service_ops": 0.167,
          "explore_code": 0.083
        }
      }
    },
    {
      "value": "runtime_containers_hosts",
      "family": "operate",
      "description": "Inspect containers or remote hosts (docker ps or inspect, ssh to look at a machine).",
      "evidence": {
        "clusters": [
          60
        ],
        "clustered_calls": 501,
        "share_nearest_cluster": 0.0103,
        "leading_programs": [
          "ssh",
          "echo",
          "docker ps",
          "docker inspect",
          "docker logs"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "service_ops": 0.368,
          "explore_code": 0.308,
          "diagnose_runtime": 0.222
        }
      }
    },
    {
      "value": "runtime_logs",
      "family": "operate",
      "description": "Read or search service, daemon or container logs for errors and events (docker logs, journalctl, log files).",
      "evidence": {
        "clusters": [
          29,
          65
        ],
        "clustered_calls": 468,
        "share_nearest_cluster": 0.0095,
        "leading_programs": [
          "grep",
          "sleep",
          "tail",
          "echo",
          "docker logs"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "diagnose_runtime": 0.572,
          "run_tests": 0.09,
          "explore_code": 0.083
        }
      }
    },
    {
      "value": "data_sql_query",
      "family": "data",
      "description": "Query a database with SQL (psql, ClickHouse, sqlite), directly or through docker exec or ssh.",
      "evidence": {
        "clusters": [
          17,
          58
        ],
        "clustered_calls": 678,
        "share_nearest_cluster": 0.0109,
        "leading_programs": [
          "ssh",
          "docker exec",
          "python3",
          "sleep",
          "for"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "data_query": 0.355,
          "diagnose_runtime": 0.193,
          "explore_code": 0.171
        }
      }
    },
    {
      "value": "data_observability_api",
      "family": "data",
      "description": "Query an observability, gateway or internal service API for records (traces, spans, usage, model lists).",
      "evidence": {
        "clusters": [
          44,
          64
        ],
        "clustered_calls": 1227,
        "share_nearest_cluster": 0.0228,
        "leading_programs": [
          "docker exec",
          "lite-llm-proxy",
          "python3",
          "ssm-cli",
          "curl"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "data_query": 0.293,
          "explore_code": 0.209,
          "run_tests": 0.101
        }
      }
    },
    {
      "value": "data_analyze_local_files",
      "family": "data",
      "description": "Analyze local data files with a throwaway script: parse JSON or JSONL, count, group or summarize records on disk.",
      "evidence": {
        "clusters": [
          40,
          50
        ],
        "clustered_calls": 842,
        "share_nearest_cluster": 0.0172,
        "leading_programs": [
          "python3",
          "python",
          "uv run",
          "git diff",
          "grep"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "compute_analyze": 0.515,
          "explore_code": 0.134,
          "git_history": 0.067
        }
      }
    },
    {
      "value": "data_calculation",
      "family": "data",
      "description": "Compute values with an inline script, such as colour contrast, statistics or unit conversions.",
      "evidence": {
        "clusters": [
          11
        ],
        "clustered_calls": 161,
        "share_nearest_cluster": 0.0024,
        "leading_programs": [
          "python3",
          "python",
          "cat",
          "node",
          "grove phase"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "compute_analyze": 0.444,
          "edit_files": 0.222,
          "forge_collab": 0.111
        }
      }
    },
    {
      "value": "config_secrets",
      "family": "configure",
      "description": "List, read or inject credentials through a secrets manager or environment file.",
      "evidence": {
        "clusters": [
          61
        ],
        "clustered_calls": 227,
        "share_nearest_cluster": 0.0043,
        "leading_programs": [
          "ssm",
          "ssm-cli",
          "for",
          "echo",
          "cat"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "secrets_config": 0.82,
          "explore_code": 0.06,
          "other": 0.04
        }
      }
    },
    {
      "value": "config_tool_settings",
      "family": "configure",
      "description": "Read or change the configuration of a tool or agent (config show, config files outside the repository).",
      "evidence": {
        "clusters": [
          56,
          57
        ],
        "clustered_calls": 280,
        "share_nearest_cluster": 0.0077,
        "leading_programs": [
          "grove config",
          "grep",
          "ssm",
          "uv run",
          "opencode"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "explore_code": 0.444,
          "secrets_config": 0.111,
          "edit_files": 0.093
        }
      }
    },
    {
      "value": "config_cli_help",
      "family": "configure",
      "description": "Read a command's help or usage text to learn its options (--help, help subcommands).",
      "evidence": {
        "clusters": [
          33
        ],
        "clustered_calls": 241,
        "share_nearest_cluster": 0.0069,
        "leading_programs": [
          "grove create",
          "grove skills",
          "grove auth",
          "grove",
          "grove show"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "agent_fleet": 0.464,
          "explore_code": 0.361,
          "other": 0.082
        }
      }
    },
    {
      "value": "env_toolchain_versions",
      "family": "configure",
      "description": "Locate runtimes and check their versions or PATH (which, node -v, version managers).",
      "evidence": {
        "clusters": [
          83
        ],
        "clustered_calls": 132,
        "share_nearest_cluster": 0.0022,
        "leading_programs": [
          "ls",
          "node",
          "find",
          "echo",
          "nvm"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "dependency_env": 0.667,
          "other": 0.083,
          "service_ops": 0.083
        }
      }
    },
    {
      "value": "env_package_metadata",
      "family": "configure",
      "description": "Query a package registry for versions, peer dependencies or tarballs (npm view, pip index).",
      "evidence": {
        "clusters": [
          43
        ],
        "clustered_calls": 142,
        "share_nearest_cluster": 0.0034,
        "leading_programs": [
          "npm view",
          "node",
          "python3",
          "for",
          "echo"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "explore_code": 0.5,
          "dependency_env": 0.333,
          "run_tests": 0.167
        }
      }
    },
    {
      "value": "env_install_dependencies",
      "family": "configure",
      "description": "Install, sync or link dependencies into a workspace (npm ci, uv sync, linking node_modules).",
      "evidence": {
        "clusters": [
          20
        ],
        "clustered_calls": 126,
        "share_nearest_cluster": 0.003,
        "leading_programs": [
          "cp",
          "ls",
          "test",
          "if",
          "\\cp"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "dependency_env": 0.5,
          "edit_files": 0.25,
          "explore_code": 0.125
        }
      }
    },
    {
      "value": "research_fetch_web",
      "family": "research",
      "description": "Fetch public web pages or documentation to learn something, often parsed with a script.",
      "evidence": {
        "clusters": [
          10
        ],
        "clustered_calls": 820,
        "share_nearest_cluster": 0.0124,
        "leading_programs": [
          "python3",
          "for",
          "curl",
          "cat",
          "ls"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "explore_code": 0.237,
          "web_fetch_research": 0.153,
          "data_query": 0.139
        }
      }
    },
    {
      "value": "wait_sleep_or_poll",
      "family": "wait",
      "description": "Wait for something to finish: sleep, or a loop or delayed read that re-checks output or status.",
      "evidence": {
        "clusters": [
          2,
          28
        ],
        "clustered_calls": 357,
        "share_nearest_cluster": 0.0059,
        "leading_programs": [
          "sleep",
          "tail",
          "cat",
          "wc",
          "while"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "wait_poll": 0.648,
          "run_tests": 0.183,
          "explore_code": 0.07
        }
      }
    },
    {
      "value": "shell_trivial",
      "family": "other",
      "description": "Only probe the shell or a single path: date, echo, pwd, ls of one file.",
      "evidence": {
        "clusters": [
          0,
          21
        ],
        "clustered_calls": 267,
        "share_nearest_cluster": 0.0102,
        "leading_programs": [
          "ls",
          "date",
          "find",
          "cat",
          "python3"
        ],
        "evaluator_label_mix_on_judged_calls": {
          "explore_code": 0.35,
          "other": 0.3,
          "cleanup_scratch": 0.2
        }
      }
    },
    {
      "value": "other",
      "family": "other",
      "description": "The purpose is clear but no label above fits."
    },
    {
      "value": "unclear",
      "family": "other",
      "description": "The purpose cannot be decided from the command and description."
    }
  ],
  "derivation": {
    "cohort_calls": 72264,
    "clusters": 126,
    "clustered_calls": 47912,
    "labels_total": 49,
    "labels_with_cluster_evidence": 47,
    "families": [
      "change",
      "collaborate",
      "configure",
      "data",
      "navigate",
      "operate",
      "other",
      "research",
      "verify",
      "wait"
    ],
    "density": {
      "taxonomy_labels_at_or_above_1pct": 29,
      "legacy_labels_at_or_above_1pct": 16,
      "taxonomy_entropy_bits": 4.75,
      "legacy_entropy_bits": 3.39,
      "largest_taxonomy_share": 0.212,
      "largest_legacy_share": 0.327
    },
    "note": "Shares give clustered calls their cluster's label and each unclustered call the label of the cluster centroid nearest in embedding space. That is an approximation. No call has been classified under this taxonomy by a model or a person yet."
  }
}
