Critical failures across all dimensions. Three tools with zero or near-zero descriptions (null values in schema). Parameters lack descriptions entirely. No output schemas documented. Tool names are generic and non-idiomatic ('add', 'factorial of a number', 'buy stock'). The 'buy stock' tool has a destructive risk classification but no confirmation mechanism, error handling, or permission gates. Schemas are present but parameter descriptions are null, violating the requirement that every parameter must have a description. No evidence of error recovery guidance, input validation, or security controls.
All three tools have null parameter descriptions. Rubric requires every parameter to have a non-empty description explaining what it controls. LLMs cannot infer meaning from names alone.
Tool names violate verb_noun convention. 'add' and 'factorial of a number' are generic and non-idiomatic. 'buy stock' lacks clarity on what 'buy' means in context. Baseline: 90% of A+ tools start with action verbs; these do not follow standard naming.
'buy stock' is a destructive operation (DESTRUCTIVE risk) with no confirmation mechanism, permission gates, or error recovery guidance. Rubric requires irreversible operations to support dry-run or confirmation. No audit trail or permission checks visible.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 23 | 2026-07-28+ | v2 |
No output schemas documented for any tool. Rubric requires documentation of return types so LLMs know what fields to expect. Current responses are hardcoded text strings with no structure.
Credentials exposed in source code (apiKey, apiSecret in src/trade.ts). Rubric forbids credentials as tool parameters or in source. Use server-side secret injection via environment variables or vault.