{"id":"filter-result-check","version":"1.0.0","description":"Checks an exact claimed decimal filter result with source-order witnesses.","supported_operations":["check filter result","validate filtered selection","audit source order filter","check filter witnesses","compare claimed filter output","verify exact predicate selection"],"unsupported_operations":["does not return a repaired result","does not evaluate JavaScript callbacks"],"semantics":["If the complete first-discrepancy verdict would exceed 4,096 UTF-8 JSON bytes, the tool throws limit_exceeded instead of truncating, omitting, or repairing either witness.","Exact decimal strings are compared without binary floating point; numeric equality ignores trailing fractional zeroes.","Filter witnesses must contain every matching source item exactly once in ascending source index; null fails ordered comparisons."],"limits":{"max_items":10000,"max_input_bytes":1000000,"max_output_bytes":4096},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"properties":{"source":{"type":"array","maxItems":10000,"items":{"type":["string","null"]}},"predicate":{"type":"object","additionalProperties":false,"properties":{"op":{"type":"string","enum":["eq","ne","lt","lte","gt","gte","is_null","not_null"]},"value":{"type":["string","null"]}},"required":["op"]},"claimed":{"type":"array","maxItems":10000,"items":{"type":"object","additionalProperties":false,"properties":{"source_index":{"type":"integer","minimum":0,"maximum":9999},"value":{"type":["string","null"]}},"required":["source_index","value"]}}},"required":["source","predicate","claimed"]},"output_schema":{"type":"object","additionalProperties":false,"properties":{"valid":{"type":"boolean"},"reason":{"type":"string"},"discrepancy":{"type":"object","additionalProperties":false,"properties":{"path":{"type":"string"},"index":{"type":"integer"},"expected":{},"actual":{}},"required":["path","index","expected","actual"]},"reference_version":{"type":"string"}},"required":["valid","reference_version"]},"examples":[{"input":{"source":["2","1","2.0"],"predicate":{"op":"gte","value":"2"},"claimed":[{"source_index":0,"value":"2"},{"source_index":2,"value":"2.0"}]},"output":{"valid":true,"reference_version":"ECMA-262-2026-Array-iteration-order+Hoare-1961-selection-invariants"}},{"input":{"source":["1"],"predicate":{"op":"eq","value":"1"},"claimed":[]},"output":{"valid":false,"reason":"missing_item","discrepancy":{"path":"claimed","index":0,"expected":{"source_index":0,"value":"1"},"actual":null},"reference_version":"ECMA-262-2026-Array-iteration-order+Hoare-1961-selection-invariants"}}],"execute_url":"/v1/tools/filter-result-check/versions/1.0.0/execute"}