Diffs and decodes contract storage layouts across proxy upgrades to catch storage-collision and uninitialized-slot bugs.
Single tool 'storagelens_scan' has a basic description (89 chars) and minimal input schema. The tool name uses verb_noun pattern correctly ('scan' action), but the description lacks clarity on WHEN to use it, WHAT it returns structurally, and prerequisites. Input schema defines only 'target' as string with a brief description, no type validation, enums, format constraints, or examples. No output schema documented. The tool appears to perform read-only file scanning for code patterns, but the description conflates storage layout analysis (contract proxy upgrades) with simple text pattern matching (TODO/FIXME/XXX comments visible in JavaScript/Go/Rust ports), creating confusion about actual capability. No error handling guidance, no pagination, no structured output specification.
Diffs and decodes contract storage layouts across proxy upgrades to catch storage-collision and uninitialized-slot bugs.. Returns JSON findings.
Description conflates two different capabilities: contract storage layout diffing (claimed in docstring) vs. simple text pattern scanning (actual implementation in ports). LLMs will misunderstand when to invoke this tool.
Input schema lacks validation constraints. 'target' parameter accepts any string with no format, length, or pattern specification. No guidance on whether it expects a file path, directory, contract address, or identifier.
No output schema documented. Description says 'Returns JSON findings' but does not specify field names, types, or structure. LLMs cannot plan downstream operations or extract data reliably.
Description is 89 characters, below the 194-char baseline for production tools. Lacks WHEN to use, prerequisites, and expected output structure. Does not explain difference from similar code-scanning tools.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
No error handling guidance. If 'target' is invalid, unreachable, or empty, the tool provides no recovery hints. LLMs cannot self-correct or retry intelligently.