Skip to content

Describe every input parameter in tools/list (0.4.0-beta.4) - #9

Merged
TheDesignFounder merged 1 commit into
mainfrom
feat/parameter-descriptions
Sep 24, 2026
Merged

TheDesignFounder merged 1 commit into
mainfrom
feat/parameter-descriptions

Conversation

@TheDesignFounder

Copy link
Copy Markdown
Owner

Why

Smithery's quality assessment of the DreamLayer listing (bundle running 0.4.0-beta.3) scored parameter descriptions 3/7: dreamlayer_generate (prompt, conversation_id, max_credits, aspect_ratio), dreamlayer_execution, dreamlayer_events and dreamlayer_download (execution_id, last_event_id) shipped bare {type} properties, and the nested sprite options fields had no text either. That is a contract gap for any agent reading tools/list, not just a score.

What

  • Every input property now says what it accepts. Wording follows the gateway's ExecuteRequest (managed_execute.py): image operations require max_credits = 1, sprite jobs at or above the sprite_pricing quote; respond requires conversation_id; aspect_ratio default 1:1; last_event_id resumes after the given event.
  • New test: walks every tool's input schema recursively and fails on any undescribed property.
  • Version 0.4.0-beta.4; README/server.json/RELEASE pins updated. Tool names, arguments and results are unchanged.

Verification

  • pnpm test: 59/59 (58 existing + the new coverage test).
  • tools/list from the built runtime: 7 tools, 0 undescribed parameters, outputSchema and annotations on all 7.

Not changed on purpose: tool naming (Smithery wants dot-notation trees such as files.read; renaming would break every published skill and client config) and the required API key (the server cannot start without one).

🤖 Generated with Claude Code

Four tools shipped bare {type} properties (dreamlayer_generate: prompt,
conversation_id, max_credits, aspect_ratio; dreamlayer_execution,
dreamlayer_events and dreamlayer_download: execution_id, last_event_id) and
the nested sprite options carried no text either. A model reading tools/list
had nothing to tell it that image operations require max_credits=1 or what
last_event_id resumes from. Each description states what the gateway's
ExecuteRequest actually accepts (managed_execute.py), nothing more.

A new test walks every tool's input schema recursively and fails on any
undescribed property, so an options sub-field cannot regress silently.

Version 0.4.0-beta.4; names, arguments and results are unchanged. Smithery's
listing scored parameter descriptions 3/7 on beta.3 for exactly this gap.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@TheDesignFounder
TheDesignFounder merged commit b32d652 into main Sep 24, 2026
1 check passed
@TheDesignFounder
TheDesignFounder deleted the feat/parameter-descriptions branch September 24, 2026 08:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant