Production-grade JSON Patch (RFC 6902) differential engine. Calculates minimal operational diffs and applies state transitions atomically.
Single tool with critical definition gaps. Tool name 'compute_and_apply_patch' violates verb_noun clarity (contains 'and', signals multiple responsibilities). Input schema present but parameters lack descriptions entirely, rubric requires descriptions for every parameter. Output schema not documented. Tool description (67 chars) is below baseline (194 chars avg) and lacks WHEN/WHY context. No error handling guidance. Parameters doc_before and doc_after are optional with defaults, but defaults are hardcoded sample data, not production-safe. No indication of what happens on patch failure or validation errors.
Computes minimal RFC 6902 JSON patch and applies atomic modifications.
Tool name contains 'and', signals multiple responsibilities (compute + apply). Should split into separate tools: compute_patch and apply_patch.
Input parameters lack descriptions. 'doc_before' and 'doc_after' have no explanation of expected structure, format, or constraints. Rubric requires descriptions for every parameter.
Output schema not documented. LLM cannot predict response structure (patch_id, operations, patched_document, etc.). Rubric requires documented return types for all tools.
Tool description (67 chars) is below baseline (194 chars avg) and lacks context. Does not explain WHEN to use, WHAT it returns, or error conditions. Missing recovery guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | 2026-07-28+ | v2 |
Hardcoded sample defaults (product data) are production anti-pattern. LLMs may reuse example values literally. Parameters should be required or default to null, not sample data.