Incident diagnosis for Google Play Billing integrations. Reads a redacted purchase timeline and shows where it broke, with evidence and Google's rule. Runs locally, calls nothing, changes nothing at Google. Not affiliated with Google.
Six tools with READ_ONLY operations and reasonable descriptions (avg 80 chars), but critical gaps in schema visibility and parameter documentation. Input schemas are declared but lack detail: parameters have type 'object' with minimal constraints. No output schemas documented. Error handling absent. Tool names are action-oriented (diagnose, validate, parseTimeline, decodeRtdn, explainSubscription, redact) but descriptions are brief and lack WHEN/WHY context. No enums, ranges, or validation guidance. Composition is sound (each tool does one thing), but parameter descriptions do not explain expected structure, format, or constraints.
Decode a Google Play Billing real-time developer notification (RTDN)
Diagnose a Google Play Billing timeline for incidents and rule violations
Explain a subscription resource state and its implications
Parse a timeline from JSON or raw data
Redact sensitive information from a timeline or text (tokens, credentials, emails, order IDs)
Validate a timeline against the schema
Input schemas use generic 'object' type with no property definitions, constraints, or nested field documentation. Parameters lack type specificity (e.g., 'timeline' is 'object' but no schema of Timeline structure visible).
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., what does diagnose() return? What fields are in the response?).
Descriptions lack WHEN/WHY context and actionable guidance. 'Diagnose a Google Play Billing timeline' does not explain when to call it vs validate, what prerequisites exist, or what the output enables.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
No error handling guidance. Tools return READ_ONLY but no documentation of failure modes, recovery steps, or what errors mean (e.g., 'Invalid timeline format, expected JSON or parsed object').
Parameter descriptions are minimal (10-20 chars). 'Timeline to validate' and 'Raw timeline data to parse' lack format, structure, or constraint details. LLMs cannot infer whether to pass JSON string, object, or file path.