Skip to main content
Glama

Delete fixtures from the show

gma3_patch_remove

Deletes fixtures by FID from the grandMA3 patch, removing them and their cue/group references from the show. Pre-checks FIDs and sub-fixtures; requires exclusive console access.

Instructions

Delete fixtures by FID from the patch, removing them from the show (with everything that refers to them, e.g. their values in cues and groups: the console handles references). Fixtures with sub-fixtures are refused. Pre-check (nothing sent on failure): every FID exists and has no sub-fixtures. Runs one patch session through the patch edit copy, never a dialog: read-only pre-checks (command line at Root, the copy closed, so nobody is in the Patch menu, no modal open, plus the tool's own checks), then enter the copy, apply the change there, an isolation check, commit, and read back. Requires exclusive: true. Patch changes need exclusive use of the console: the isolation check compares fingerprints of the copy and the live patch, left out the touched FIDs, over several seconds. It is best-effort detection of someone else's changes, not a guarantee, and on a mismatch nothing is committed and the copy is left open for the operator. A committed patch change has NO UNDO (Oops does not revert it). Takes about 10 s (mostly the isolation check). When a session cannot be finished, the copy is closed again only if it provably holds no change; otherwise the result says copyLeftOpen: true and the operator resolves it at the console (Menu > Patch, Save and Exit or Discard and Exit). Needs bridge 0.19.0. verify reads the FIDs back and checks they are gone.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fidsYesFixture IDs to delete (1-256).
verifyNoRead the patch back after the commit and compare (default true).
exclusiveNoRequired, must be true: confirms nobody else uses the console while this runs (see the description). Without it the call is refused and nothing is sent.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/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 so exceptionally: nothing is sent on pre-check failure, the patch-session lifecycle (copy, isolation check, commit, read back), the NO UNDO warning, the best-effort nature of the isolation check, the copyLeftOpen:true failure mode, the ~10 s runtime, and the bridge 0.19.0 requirement are all disclosed. This is exactly the behavioral context an agent needs before a destructive, irreversible operation.

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

Conciseness4/5

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

Front-loaded with the core action and refusal condition before the operational detail. The text is dense and some sentences are run-ons (the session-lifecycle sentence in particular), but the length is justified by an irreversible operation with a mandatory flag and an operator-resolution failure mode.

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

Completeness5/5

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

Complete for a 3-parameter destructive tool with no output schema: it describes the return signal (copyLeftOpen: true), the verification behavior, prerequisites (exclusive, bridge version), and operator remediation steps. Nothing an agent needs to call it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds genuine meaning beyond the schema: it explains that 'exclusive' is mandatory and why ('confirms nobody else uses the console'), and that 'verify' reads the FIDs back and checks they are gone. It adds value over the structured fields rather than repeating them.

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

Purpose5/5

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

States a specific verb and resource ('Delete fixtures by FID from the patch') plus the cascade scope ('with everything that refers to them, e.g. their values in cues and groups'). It is clearly distinguishable from siblings like gma3_patch_add and gma3_patch_set without opening any schema.

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

Usage Guidelines4/5

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

Gives clear context: fixtures with sub-fixtures are refused, exclusive:true is required, and the pre-check condition (every FID exists, no sub-fixtures) tells the agent exactly when the call will be refused. It does not explicitly name alternative tools for related patch tasks, so it falls short of the full when/when-not/alternatives bar.

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