Two tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. suggest_activities_under_price has a complex input (family dict, all_activities list) with minimal guidance on structure. distance_from_house is incomplete in the source (truncated). Neither tool documents output schema structure or error handling. Descriptions are present but generic (10 - 20 chars above minimum). No tool annotations (readOnlyHint, etc.). Parameter descriptions exist but lack format/constraint details (e.g., what fields must 'family' dict contain? What structure for activity dicts?).
Returns a list of activities sorted by distance from the user's home.
Suggests activities where total family cost is under the given price.
Complex input parameters lack structural documentation. 'family' dict and 'all_activities' list have no schema defining required/optional fields, data types, or constraints. LLMs cannot construct valid inputs without trial-and-error.
Output schemas not documented. suggest_activities_under_price returns a dict with 'status', 'max_price', 'count', 'results', but the structure of each result object is inferred from code, not declared. distance_from_house output is truncated in source.
No error handling guidance. Tools silently skip invalid activities (ValueError/TypeError caught but not reported). LLMs receive no feedback on why results are empty or incomplete.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
distance_from_house source code is truncated mid-implementation. Cannot verify full schema, error handling, or return structure. Tool definition is incomplete.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Both tools are read-only but this is not declared in the tool definition, forcing LLMs to infer safety from descriptions alone.