01Safety
0.0 / 30
What changed in the harness
Selection accuracy 100→100, token cost down 0%, unconfirmed writes 0%→0%.
Category breakdown
Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.
0.0 / 30
28.6 / 30
18.4 / 20
11.3 / 20
Highest-impact fix
Estimated gain +30 pointsExpose machine-readable principal/tenant confirmation and a non-mutating permission check so agents can verify both before destructive actions.
Description evidence
5 defects found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.
| Tool | Defect types | Suggested rewrite |
|---|---|---|
list_models |
no_return_description |
List available AI image generation models and their capabilities, returning for each model its name, supported generation types (image/video), tiers, resolutions, and active status. Use the returned model IDs with generate_image()/generate_video(). For up-to-date pricing, see https://www.meigen.ai/model-comparison. |
get_inspiration |
no_return_description |
Get a gallery entry and return its full prompt text along with all associated image URLs. Show the returned images to the user as visual examples; the prompt can be passed directly to generate_image(), and the image URLs can be passed as referenceImages for style transfer. |
manage_preferences |
no_return_description |
Read or update user preferences: default style, aspect ratio, model, style notes, and favorite prompts. Returns the current preferences (default style, aspect ratio, model, provider, style notes, and favorite prompts) after the requested action is performed; call with action "get" at conversation start to load and return the full preferences. |
comfyui_workflow |
no_return_description |
Manage ComfyUI workflow templates: list, view parameters, import from file, modify settings, or delete. Returns the available workflow names for "list", the workflow's parameters and node IDs for "view", and the updated workflow template or a confirmation for import/modify/delete. |
generate_video |
no_return_description |
Generate a video using AI via MeiGen platform. Supports text-to-video, image-to-video (first/last frame), and reference-video continuation (Seedance 2.0 only — pass `referenceVideo` URL + `referenceVideoDuration` together, and prompt must explicitly say "extend / continue"). Available models include Seedance 2.0 (mini/fast/pro tiers), Happyhorse 1.0, Veo 3.1 (native audio), and Grok Video 1.5 (IMAGE-TO-VIDEO ONLY). Returns the generated video's URL (videoUrl), duration, and resolution, which can be used as a reference video for continuation. See https://www.meigen.ai/model-comparison for the current schedule. Generation typically takes 1–5 minutes (veo at 4k can take up to ~8 min). |
Selection evidence
1 pair where similar names or overlapping descriptions may send an agent toward the wrong tool.
| Tool A | Tool B | Confidence | Why they collide |
|---|---|---|---|
generate_image |
generate_video |
low | Despite shared tokens (ai/generate), the descriptions sharply divide by output modality: generate_image produces still images (with image-to-image via referenceImages), while generate_video produces motion clips (text-to-video, image-to-video via firstFrame). A natural-language task would only risk mis-selection if the user is vague about the output type itself (e.g., "make this photo move" or "animate this image"), which the descriptions still resolve toward generate_video because it explicitly documents image-to-video. A task that actually requires an image (e.g., "generate a video thumbnail", "enhance this frame") is clearly generate_image. No documented cross-over feature blurs the boundary enough to make a wrong pick genuinely likely. |
Compare the field