Skip to main content
Glama
Knuckles-Team

Repository Manager

Xdist Apply

rm_gates_xdist_apply

Run and inspect fast/heavy pre-commit gates across repositories, and preview or apply bulk config updates with dry-run default.

Instructions

Xdist apply (rm_gates). Run and inspect the two-tier (fast/heavy) pre-commit gate across repos.

The single tool that can actually drive both tiers of the two-tier gate model: stage="fast" exercises a repo's pre-commit-stage hooks, stage="heavy" exercises its pre-push-stage hooks (pytest, cargo, uv lock --check, ...) via pre-commit run --hook-stage <stage>.

Input Schema

NameRequiredDescriptionDefault
repoNoTarget one repo's latest gate job for 'status'/'explain'/'profile' (alternative to job_id).
fleetNoFor 'audit_fail_fast': scan every repository in the workspace rather than the ones named by 'repos'.
reposNoComma-separated repo names or absolute paths to target. Omit for 'run'/'retest' to target the whole workspace.
stageNo'fast' -> `pre-commit run --hook-stage pre-commit` (formatters/linters, no network/tests). 'heavy' -> `--hook-stage pre-push` (pytest, cargo, `uv lock --check`, ...). For 'run'/'retest'.fast
startNoFor 'phase_direction_here': directory to resolve the repository from (default: this process's current working directory).
top_nNo'profile' with no job_id/repo: how many slowest hooks to report fleet-wide.
job_idNoTarget one gate job for 'status'/'explain'/'profile'.
dry_runNoFor 'xdist_apply': report what would change without writing. Defaults to True on purpose -- rewriting ~40 repositories' pre-commit configs must be an explicit choice, never the consequence of omitting an argument.
summaryNo'status': compact roll-up (counts + failed set) vs the full per-job detail.
threadsNoParallel workers.
timeoutNoPer-repo pre-commit timeout in seconds.
escalateNo'retest' only: when a repo's narrowed retest passes every requested hook, also submit a SECOND job for that repo's full wave (a narrowed pass alone is never sufficient evidence of shippability -- see gate_ledger.is_shippable).

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.5.1

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false and destructiveHint=false, so the agent knows this is a mutating, non-idempotent operation. The description adds useful context about the execution mechanism (pre-commit run --hook-stage <stage> and what heavy hooks include), but it never discloses the actual write behavior it performs — rewriting pre-commit configs across ~40 repositories — nor the default-dry-run safety posture, both of which appear only in the schema's parameter text. No contradiction with annotations, but the headline prose omits the mutating nature.

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

Conciseness3/5

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

Two short paragraphs, reasonably front-loaded, but the second paragraph largely restates the stage mapping that the schema already provides, and the text carries formatting artifacts (doubled backticks, the leading "(rm_gates)" parenthetical). It is not bloated, but several sentences do not earn their place because they duplicate structured data.

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

Completeness2/5

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

For a 12-parameter tool with zero required parameters and an output schema, the description omits what an agent most needs: what the tool actually changes, how an action is selected (no action parameter is present), which parameters matter for which action, and the deliberate dry_run=True default. Output handling is covered by the output schema, so that omission is fine, but the behavioral/config-rewrite gap is significant for a tool this broad.

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 description coverage is 100%, so the schema already documents all 12 parameters and the baseline of 3 applies. The description's stage discussion duplicates the stage parameter's own schema description rather than adding new meaning, and it offers nothing for repo/fleet/repos/top_n/threads/timeout/escalate. The action-selection hints scattered across the parameters ("'status'", "'retest'", "'xdist_apply'") are never reconciled by the description, which leaves ambiguity about how an action is chosen.

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

Purpose3/5

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

The description names a verb and resource ("Run and inspect the two-tier (fast/heavy) pre-commit gate across repos") and explains what each stage exercises, so the domain is legible. However, it reads as a module-level docstring for the whole rm_gates family rather than naming this tool's specific job: the tool is named "xdist_apply" (and the only place the apply/config-rewrite semantics appear is inside the dry_run parameter description), while the prose describes generic gate running that siblings like rm_gates_run and rm_gates_retest would also claim. No sibling differentiation is offered.

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 when-to-use guidance relative to the many sibling gate tools (rm_gates_run, rm_gates_retest, rm_gates_status, rm_gates_profile, rm_gates_audit_fail_fast), and no prerequisites or exclusions. The claim that it is "the single tool that can actually drive both tiers" is a differentiation attempt, but it is unverifiable against the sibling list and conflicts with the existence of rm_gates_run. The stage explanation is parameter semantics, not tool-selection guidance.

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

Deploy Server

Other Tools