Skip to main content
Glama

start_bisect

Start an isolated first-parent git bisect to find the commit that introduced a regression without touching the working tree. Supply good/bad refs and a human check command.

Instructions

Start an isolated first-parent bisect. check_command MUST be supplied by the human (never invent shell). Exits: 0=good, non-zero=bad, 125=skip. Working tree untouched — each probe uses a fresh git worktree.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bad_refYes
good_refYes
repo_pathYes
check_commandYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does it well: it discloses exit-code interpretation (0=good, non-zero=bad, 125=skip), a key side-effect guarantee ('Working tree untouched'), and the implementation detail that each probe uses a fresh git worktree. It omits auth/permission or concurrency caveats, but for this tool the safety-relevant behavior is well covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, each earning its place: identity, hard constraint, exit-code contract, and side-effect guarantee. The most decision-relevant information (what it starts, the human-supplied check rule) is front-loaded with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the description covers the isolation guarantee and exit semantics. What is missing is the workflow context: it never states that a session is created and must then be driven via step_bisect/run_bisect or inspected with bisect_status, which is important for a stateful session-start tool with no annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% across 4 required parameters, so the description must compensate. It gives strong semantics for the riskiest parameter (check_command must be human-supplied, never invented shell) but says nothing about good_ref/bad_ref resolution or repo_path expectations, leaving three parameters defined only by their titles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Start ... bisect') plus the qualifier 'isolated first-parent', which signals the git bisect --first-parent behavior and its worktree-based isolation. It does not explicitly contrast itself with step_bisect/run_bisect, so sibling differentiation is only implied by the word 'Start'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use guidance: nothing says this must be called before step_bisect/run_bisect, nor when a full run_bisect would be preferable. The only constraint given is about check_command provenance, which is a safety rule rather than alternative-selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.