PartMode exposes 7 tools with severe definition gaps. Five tools (normalizeStudioSelectionFilter, nextStudioSelectionFilter, studioSelectionBounds, studioBoxSelection, studioSelectOther) are UI selection utilities with minimal descriptions (10-80 chars, well below the 194-char baseline). Descriptions lack WHEN/WHY context required for LLM tool selection. Input schemas present but sparse: most parameters lack type constraints, enums, or validation guidance. handleMcpRequest and createHeadlessAgentHost are vaguely described protocol/infrastructure tools. No output schemas documented. No error handling guidance. Tool names lack clear verb_noun patterns (e.g., 'studioBoxSelection' is ambiguous, does it select, filter, or compute?). No parameter descriptions explain constraints, formats, or dependencies. Security: createHeadlessAgentHost accepts projectId/name but no auth/permission checks visible. Overall: definitions are infrastructure-focused, not LLM-optimized.
Creates a headless agent host for executing CAD operations without a browser
Handles MCP protocol requests for the PartMode server
Cycles to the next studio selection filter in the sequence
Normalizes a studio selection filter value to a valid filter type, defaulting to 'auto' if invalid
Performs window or crossing selection on candidates based on drag start and end points
Cycles through candidates ordered by depth and key, returning the next candidate after the current one
Calculates bounding box from an array of finite screen points
handleMcpRequest has no visible input schema and generic description ('Handles MCP protocol requests'). Cannot determine what parameters it accepts or what it returns.
Five UI selection tools (normalizeStudioSelectionFilter, nextStudioSelectionFilter, studioSelectionBounds, studioBoxSelection, studioSelectOther) have descriptions under 80 chars, far below the 194-char baseline. Lack WHEN/WHY context for LLM selection.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. Violates pattern:tool baseline (100% of A+ tools have documented return types).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
Parameter descriptions missing or trivial. E.g., 'value' param in normalizeStudioSelectionFilter has description 'The selection filter value to normalize' but no enum, format, or valid values listed. Violates pattern:tool-description baseline (100% of A+ tools have param descriptions).
createHeadlessAgentHost (WRITE risk) lacks error handling, permission checks, and confirmation step. No guidance on what happens on failure or how to recover. Violates pattern:confirmation-request and pattern:permission-gate.