Compression with a quality contract — cache-aware, causally-pruned context compression for agentic runtimes, exposed via MCP server.
Three tools with reasonable descriptions but critical schema gaps. distil_compress and distil_expand have documented input parameters and clear descriptions (110-140 chars), meeting baseline for description length. distil_savings has minimal schema (empty input). However, NO OUTPUT SCHEMAS are documented anywhere in the source, a critical pattern violation. Tool descriptions lack LLM-optimization details (prerequisites, return value structure, when to call). Parameter descriptions are minimal. No error handling guidance visible. No schema type declarations for inputs (inferred from brief descriptions only). Risk annotations present in metadata but not in tool definitions themselves.
Reversibly digest a blob; returns the digest, an 8-hex handle, and tokens saved. The original is kept in a local on-disk store (never returned to the model until asked), so it costs zero tokens on the wire.
Return the original text for a handle.
Cumulative savings from the local ledger.
No output schemas documented for any tool. LLMs cannot infer response structure (which fields, types, pagination). Forces LLMs to guess downstream field names and breaks tool chaining.
Input parameter 'text' in distil_compress lacks type declaration in visible schema. Only described as 'Text to compress', no length limits, encoding constraints, or format specification.
distil_expand's 'handle' parameter lacks validation hints. No description of expected format (8-hex implies hex string of length 8, but not explicitly stated). LLMs may pass invalid formats.
distil_savings has minimal description (22 chars: 'Cumulative savings from the local ledger.'). Does not explain return structure, when to call it, or what 'savings' metric means (tokens? bytes? cost?).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
No error handling guidance visible. What happens if distil_expand is called with an invalid/expired handle? What if distil_compress runs out of disk space? No recovery instructions for LLM.
Descriptions lack prerequisite or dependency hints. E.g., distil_expand does not state 'Call distil_compress first to get a valid handle.' This forces exploratory tool calls.