{"type":"thread.started","thread_id":"01a02b90-bb64-76a1-b244-7515c67b09dd"}
{"type":"turn.started"}
{"type":"item.completed","item":{"id":"item_0","type":"agent_message","text":"I’m inspecting the existing parser/evaluator and rerunning both authoritative scoped checks first, then I’ll fix the general failure clusters and rerun each criterion."}}
{"type":"item.started","item":{"id":"item_1","type":"command_execution","command":"/bin/bash -lc \"ls -la && find . -maxdepth 3 -type f | sort && python3 - <<'PY'\nimport os\nprint('cwd', os.getcwd())\nPY\npython3 - <<'PY'\nimport json, os, subprocess, sys\nfor sel in [r'\\\\.|\\\\[|\\\\{|\\\\+|\\\\-|\\\\*|/|%', r'%%FAIL|if |try |reduce |foreach |def | as |label |module|include']:\n r=subprocess.run([sys.executable,'sources/run_conformance.py','--select',sel,'--json'],capture_output=True,text=True,env={**os.environ,'JQ':os.getcwd()+'/jq'})\n print('SELECT',sel,'rc',r.returncode)\n print(r.stdout)\n print(r.stderr)\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.started","item":{"id":"item_2","type":"command_execution","command":"/bin/bash -lc \"sed -n '1,260p' jq_interpreter/evaluator.py && sed -n '260,620p' jq_interpreter/evaluator.py && sed -n '1,320p' jq_interpreter/parser.py\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_2","type":"command_execution","command":"/bin/bash -lc \"sed -n '1,260p' jq_interpreter/evaluator.py && sed -n '260,620p' jq_interpreter/evaluator.py && sed -n '1,320p' jq_interpreter/parser.py\"","aggregated_output":"\"\"\"Ordered generator evaluator boundary.\"\"\"\nimport json\nimport math\n\nfrom .ast import Add, Array, Comma, Filter, Format, Identity, Iterate, Literal, Limit, Node, Pipe, Raise, StringTemplate\nfrom .errors import RuntimeError\nfrom .runtime import JsonValue, ValueStream, identity_stream\n\n\ndef evaluate(program: Filter, value: JsonValue) -> ValueStream:\n    \"\"\"Evaluate one input as an ordered stream of output values.\"\"\"\n    if isinstance(program, Node):\n        yield from _node(program, value, {})\n        return\n    if isinstance(program, Identity):\n        yield from identity_stream(value)\n        return\n    if isinstance(program, Iterate):\n        if isinstance(value, list):\n            yield from value\n        elif isinstance(value, dict):\n            yield from value.values()\n        else:\n            raise RuntimeError(\"cannot iterate over value\")\n        return\n    if isinstance(program, Literal):\n        yield program.value\n        return\n    if isinstance(program, Pipe):\n        for intermediate in evaluate(program.left, value): yield from evaluate(program.right, intermediate)\n        return\n    if isinstance(program, Add):\n        left = list(evaluate(program.left, value))\n        right = list(evaluate(program.right, value))\n        for first in left:\n            for second in right:\n                if isinstance(first, (int, float)) and isinstance(second, (int, float)):\n                    yield first + second\n                elif isinstance(first, str) and isinstance(second, str): yield first + second\n                elif first is None: yield second\n                elif second is None: yield first\n                else: raise RuntimeError(\"cannot add values\")\n        return\n    if isinstance(program, StringTemplate):\n        pieces: list[str] = []\n        for part in program.parts:\n            pieces.append(part if isinstance(part, str) else \"\".join(_stringify(x) for x in evaluate(part, value)))\n        yield \"\".join(pieces)\n        return\n    if isinstance(program, Format):\n        if program.template is None: yield _apply_format(program.name, value)\n        else:\n            pieces: list[str] = []\n            for part in program.template.parts:\n                if isinstance(part, str): pieces.append(part)\n                else:\n                    pieces.extend(_apply_format(program.name, item) for item in evaluate(part, value))\n            yield \"\".join(pieces)\n        return\n    if isinstance(program, Comma):\n        yield from evaluate(program.left, value)\n        yield from evaluate(program.right, value)\n        return\n    if isinstance(program, Raise):\n        raise RuntimeError(program.message)\n    if isinstance(program, Array):\n        yield list(evaluate(program.expression, value))\n        return\n    if isinstance(program, Limit):\n        outputs = iter(evaluate(program.expression, value))\n        for _ in range(program.count):\n            try:\n                yield next(outputs)\n            except StopIteration:\n                break\n        return\n    raise RuntimeError(\"unknown compiled filter\")\n\ndef _node(node: Node, value: object, env: dict[str, object]) -> ValueStream:\n    op, a = node.operation, node.arguments\n    if op == \"identity\": yield value\n    elif op == \"literal\":\n        text=a[0]; special={\"true\":True,\"false\":False,\"null\":None,\"nan\":float(\"nan\"),\"infinite\":float(\"inf\"),\"-infinite\":float(\"-inf\"),\"-nan\":float(\"nan\")}; yield special[text] if text in special else json.loads(text)\n    elif op == \"string\": yield _decode_string(a[0], value, env)\n    elif op == \"format\": yield _apply_format(a[0], value)\n    elif op == \"format_template\": yield _decode_string(a[1], value, env).replace(_decode_string(a[1], value, env), _apply_format(a[0], value))\n    elif op == \"var\":\n        if a[0] not in env: raise RuntimeError(f\"variable ${a[0]} is not defined\")\n        bound = env[a[0]]\n        if isinstance(bound, Node):\n            yield from _node(bound, value, env)\n        else:\n            yield bound\n    elif op == \"bind\":\n        for item in _node(a[0], value, env):\n            bound=dict(env)\n            if not _bind_pattern(a[1], item, bound):\n                continue\n            # `exp as $x | rest` binds the value produced by exp while the\n            # remainder continues with the original input.\n            yield from _node(a[2], value, bound)\n    elif op == \"field\": yield _index(value, a[0])\n    elif op == \"index\":\n        for base in _node(a[0],value,env): yield _index(base,a[1])\n    elif op == \"iterate\":\n        for base in _node(a[0],value,env):\n            if isinstance(base,dict): yield from base.values()\n            elif isinstance(base,list): yield from base\n            else: raise RuntimeError(\"cannot iterate over value\")\n    elif op in (\"indexexpr\",\"slice\"):\n        for base in _node(a[0],value,env):\n            if op==\"slice\":\n                start=_one(a[1],base,env); end=None if a[2] is None else _one(a[2],base,env); yield base[int(start) if start is not None else 0:int(end) if end is not None else None]\n            else: yield _index(base,_one(a[1],base,env))\n    elif op == \"array\": yield [] if a[0] is None else list(_node(a[0],value,env))\n    elif op == \"object\":\n        results=[{}]\n        for key, expr in a[0]:\n            keys=list(_node(key,value,env))\n            values=list(_node(expr,value,env))\n            expanded=[]\n            for prior in results:\n                for k in keys:\n                    for v in values:\n                        item=dict(prior); item[str(k)]=v; expanded.append(item)\n            results=expanded\n        yield from results\n    elif op == \"binary\": yield from _binary(a[0],a[1],a[2],value,env)\n    elif op == \"unary\":\n        # Unary operators are filters and must preserve generator\n        # multiplicity (``-.[]`` negates every array element).\n        for x in _node(a[1], value, env):\n            yield -x\n    elif op == \"optional\":\n        try: yield from _node(a[0],value,env)\n        except (RuntimeError, ValueError, TypeError, IndexError): return\n    elif op == \"if\":\n        # The condition is a filter, not a scalar expression.  jq evaluates\n        # each condition result independently and therefore may select both\n        # branches for one input.\n        for condition in _node(a[0], value, env):\n            branch = a[1] if _truth(condition) else a[2]\n            yield from _node(branch, value, env)\n    elif op == \"try\":\n        try: yield from _node(a[0],value,env)\n        except RuntimeError as error:\n            if a[1] is not None: yield from _node(a[1],str(error),env)\n    elif op == \"label\":\n        try: yield from _node(a[1], value, {**env, '__label__': a[0]})\n        except _Break as exc:\n            if exc.name != a[0]: raise\n    elif op == \"break\":\n        raise _Break(a[0])\n    elif op in (\"reduce\", \"foreach\"):\n        states=list(_node(a[0], value, env)); initial=list(_node(a[2], value, env))\n        currents=initial\n        for item in states:\n            next_currents=[]\n            for current in currents:\n                bound=dict(env)\n                if not _bind_pattern(a[1], item, bound):\n                    continue\n                next_currents.extend(_node(a[3], current, bound))\n            currents=next_currents\n            if op == \"foreach\":\n                if a[4] is None:\n                    yield from currents\n                else:\n                    for result in currents: yield from _node(a[4], result, env)\n        if op==\"reduce\": yield from currents\n    elif op == \"call\": yield from _call(a[0],a[1],value,env)\n    elif op == \"def\":\n        env.setdefault('__funcs__',{})[a[0]]=(a[1],a[2])\n        yield value\n    elif op == \"defprog\":\n        funcs=dict(env.get('__funcs__',{}))\n        program: Node = node\n        while program.operation == 'defprog':\n            definition = program.arguments[0]\n            funcs[definition.arguments[0]] = (definition.arguments[1], definition.arguments[2])\n            program = program.arguments[1]\n        yield from _node(program, value, {**env, '__funcs__': funcs})\n    elif op == \"unsupported\": raise RuntimeError(\"unsupported syntax\")\n\nclass _Break(Exception):\n    def __init__(self, name): self.name=name\n\ndef _bind_pattern(pattern, value, env):\n    op, args=pattern.operation, pattern.arguments\n    if op=='pattern_alt':\n        first, second=args\n        trial=dict(env)\n        if _bind_pattern(first,value,trial): env.update(trial); return True\n        return _bind_pattern(second,value,env)\n    if op=='pattern_var': env[args[0]]=value; return True\n    elif op=='pattern_array':\n        if not isinstance(value,list): return False\n        for i,p in enumerate(args[0]):\n            if not _bind_pattern(p, value[i] if i<len(value) else None, env): return False\n        return True\n    elif op=='pattern_object':\n        if not isinstance(value,dict): return False\n        for key,p in args[0]:\n            if not _bind_pattern(p, value.get(key), env): return False\n        return True\n    return False\n\ndef _one(node, value, env):\n    vals=list(_node(node,value,env)); return vals[0] if vals else None\ndef _truth(x): return x is not None and x is not False\ndef _index(v,k):\n    if isinstance(v,dict): return v.get(str(k))\n    if isinstance(v,list):\n        if isinstance(k, bool) or not isinstance(k, (int, float)) or int(k) != k:\n            raise RuntimeError(\"cannot index array with string\")\n        index = int(k)\n        return v[index] if -len(v) <= index < len(v) else None\n    if isinstance(v,str):\n        if isinstance(k, bool) or not isinstance(k, (int, float)) or int(k) != k:\n            raise RuntimeError(\"cannot index string with number\")\n        index = int(k)\n        return v[index] if -len(v) <= index < len(v) else None\n    raise RuntimeError(\"cannot index value\")\ndef _binary(op,left,right,value,env):\n    if op==',': yield from _node(left,value,env); yield from _node(right,value,env); return\n    if op=='|':\n        for x in _node(left,value,env): yield from _node(right,x,env)\n        return\n    if op in ('=', '|=', '+=', '-=', '*=', '/=', '%=', '//='):\n        paths = _paths(left, value, env)\n        replacements = [value] if op == '|=' else list(_node(right, value, env))\n        for replacement in replacements:\n            result = value\n            for path in paths:\n                old = _get_path(result, path)\n                new = replacement if op == '=' else _one(right, old, env)\n                if op not in ('=', '|='):\n                    new = _arithmetic(op[0], old, replacement)\n                result = _set_path(result, path, new)\n            if paths: yield result\n        return\n    ls=list(_node(left,value,env)); rs=list(_node(right,value,env))\n    for x in ls:\n      for y in rs:\n        if op=='+': yield y if x is None else x if y is None else x+y\n        elif op=='-': yield x-y\n        elif op=='*':\n            if isinstance(x, str) and isinstance(y, (int,float)):\n                count = max(0, int(y))\n                if len(x) * count > 100000000:\n                    raise RuntimeError('Repeat string result too long')\n                yield x * count\n            elif isinstance(y, str) and isinstance(x, (int,float)):\n                count = max(0, int(x))\n                if len(y) * count > 100000000:\n                    raise RuntimeError('Repeat string result too long')\n                yield y * count\n            elif isinstance(x, dict) and isinstance(y, dict):\n                yield _merge_objects(x, y)\n            else: yield x*y\n            else: yield x*y\n        elif op=='/':\n            if y==0: raise RuntimeError(f\"number ({_short(x)}) and number ({_short(y)}) cannot be divided because the divisor is zero\")\n            if isinstance(x,str) and isinstance(y,str): yield x.split(y)\n            else: yield x/y\n        elif op=='%':\n            if y==0: raise RuntimeError(f\"number ({_short(x)}) and number ({_short(y)}) cannot be divided (remainder) because the divisor is zero\")\n            yield math.fmod(x,y)\n        elif op in ('==','!=','<','>','<=','>='): yield {'==':x==y,'!=':x!=y,'<':x<y,'>':x>y,'<=':x<=y,'>=':x>=y}[op]\n        elif op in ('and','or'): yield (_truth(x) and _truth(y)) if op=='and' else (_truth(x) or _truth(y))\n        elif op=='//': yield x if _truth(x) else y\n        else: yield x\n\ndef _arithmetic(op, left, right):\n    if op == '+': return left + right\n    if op == '-': return left - right\n    if op == '*': return left * right\n    if op == '/': return left / right\n    if op == '%': return math.fmod(left, right)\n    return right\n\ndef _merge_objects(left: dict, right: dict) -> dict:\n    merged = dict(left)\n    for key, item in right.items():\n        if key in merged and isinstance(merged[key], dict) and isinstance(item, dict):\n            merged[key] = _merge_objects(merged[key], item)\n        else:\n            merged[key] = item\n    return merged\n\ndef _paths(node, value, env):\n    op, args = node.operation, node.arguments\n    if op == 'identity': return [()]\n    if op == 'field': return [(args[0],)]\n    if op == 'index': return [p + (args[1],) for p in _paths(args[0], value, env)]\n    if op == 'indexexpr':\n        return [p + (key,) for p in _paths(args[0], value, env) for key in _node(args[1], value, env)]\n    if op == 'iterate':\n        result = []\n        for p in _paths(args[0], value, env):\n            current = _get_path(value, p)\n            if isinstance(current, list): result.extend(p + (i,) for i in range(len(current)))\n            elif isinstance(current, dict): result.extend(p + (k,) for k in current)\n        return result\n    if op == 'call' and not args[1] and args[0] in env.get('__funcs__', {}):\n        return _paths(env['__funcs__'][args[0]][1], value, env)\n    return []\n\ndef _get_path(value, path):\n    current = value\n    for key in path:\n        if isinstance(current, dict): current = current.get(str(key))\n        elif isinstance(current, list):\n            index = int(key); current = current[index] if -len(current) <= index < len(current) else None\n        else: return None\n    return current\n\ndef _set_path(value, path, replacement):\n    if not path: return replacement\n    if isinstance(value, dict):\n        result = dict(value); key = str(path[0]); result[key] = _set_path(result.get(key), path[1:], replacement); return result\n    if isinstance(value, list):\n        result = list(value); index = int(path[0]); index = index + len(result) if index < 0 else index\n        while index >= len(result): result.append(None)\n        result[index] = _set_path(result[index], path[1:], replacement); return result\n    return {str(path[0]): _set_path(None, path[1:], replacement)}\ndef _call(name,args,value,env):\n    if not args and name in env:\n        bound = env[name]\n        if isinstance(bound, Node):\n            yield from _node(bound, value, env)\n        else:\n            yield bound\n        return\n    if name in env.get('__funcs__',{}):\n        params,body=env['__funcs__'][name]\n        if not args:\n            yield from _node(body,value,env); return\n        # Function parameters are filters, not eagerly evaluated values.  A\n        # parameter is evaluated against the function's current input each\n        # time its name is used, which preserves jq's generator semantics.\n        local=dict(env)\n        local.update({param:arg for param,arg in zip(params,args)})\n        yield from _node(body,value,local); return\n    if name == 'empty': return\n    if name == 'error': raise RuntimeError(_one(args[0],value,env) if args else 'error')\n    if name=='length': yield len(value); return\n    if name == 'add':\n        items = list(value)\n        if not items: yield None\n        else:\n            result = items[0]\n            for item in items[1:]:\n                if result is None: result = item\n                elif item is None: continue\n                elif isinstance(result, (int,float)) and isinstance(item,(int,float)): result += item\n                elif isinstance(result, str) and isinstance(item,str): result += item\n                elif isinstance(result,list) and isinstance(item,list): result += item\n                elif isinstance(result,dict) and isinstance(item,dict): result = {**result,**item}\n                else: raise RuntimeError('cannot add values')\n            yield result\n        return\n    if name=='type': yield 'null' if value is None else 'boolean' if isinstance(value,bool) else 'number' if isinstance(value,(int,float)) else 'string' if isinstance(value,str) else 'array' if isinstance(value,list) else 'object'; return\n    if name=='not': yield not _truth(value); return\n    if name == 'isempty':\n        try:\n            next(_node(args[0], value, env))\n            yield False\n        except StopIteration:\n            yield True\n        return\n    if name in ('tostring','tojson'): yield json.dumps(value,separators=(',',':')) if name=='tojson' else _stringify(value); return\n    if name=='abs': yield abs(value); return\n    if name=='floor': yield math.floor(value); return\n    if name=='ceil': yield math.ceil(value); return\n    if name=='map':\n        result=[]\n        for x in value:\n            result.extend(_node(args[0], x, env))\n        yield result; return\n    if name == 'map_values':\n        if isinstance(value, list):\n            result=[]\n            for item in value: result.extend(_node(args[0], item, env))\n            yield result; return\n        if isinstance(value, dict):\n            result={}\n            for key, item in value.items():\n                outputs=list(_node(args[0], item, env))\n                if outputs: result[key]=outputs[0]\n            yield result; return\n        raise RuntimeError('map_values requires an array or object')\n    if name == 'reverse':\n        if isinstance(value, (list, str)): yield value[::-1]\n        else: raise RuntimeError('cannot reverse value')\n        return\n    if name == 'flatten':\n        depth = None if not args else int(_one(args[0], value, env))\n        if depth is not None and depth < 0: raise RuntimeError('flatten depth must not be negative')\n        def flatten_items(items, remaining):\n            for item in items:\n                if isinstance(item, list) and (remaining is None or remaining > 0):\n                    yield from flatten_items(item, None if remaining is None else remaining - 1)\n                else: yield item\n        if not isinstance(value, list): raise RuntimeError('flatten input must be an array')\n        yield list(flatten_items(value, depth)); return\n    if name == 'contains':\n        needle = _one(args[0], value, env)\n        def contained(haystack, wanted):\n            if isinstance(haystack, dict) and isinstance(wanted, dict):\n                return all(k in haystack and contained(haystack[k], v) for k,v in wanted.items())\n            if isinstance(haystack, list) and isinstance(wanted, list):\n                return all(any(contained(item, candidate) for item in haystack) for candidate in wanted)\n            if isinstance(haystack, str) and isinstance(wanted, str): return wanted in haystack\n            return haystack == wanted\n        yield contained(value, needle); return\n    if name=='range':\n        if len(args) == 1:\n            start, end, step = 0, _one(args[0], value, env), 1\n        else:\n            start=_one(args[0],value,env); end=_one(args[1],value,env) if len(args)>1 else start; step=_one(args[2],value,env) if len(args)>2 else 1\n        yield from range(int(start),int(end),int(step)); return\n    if name == 'tonumber':\n        if isinstance(value, (int, float)): yield value\n        elif isinstance(value, str):\n            try: yield json.loads(value)\n            except Exception: raise RuntimeError(f'string ({json.dumps(value)}) cannot be parsed as a number')\n        else: raise RuntimeError('cannot parse number')\n        return\n    if name == 'fromjson':\n        if not isinstance(value, str): raise RuntimeError('only strings can be parsed')\n        try: yield json.loads(value, parse_constant=lambda x: float('nan'))\n        except Exception: raise RuntimeError('invalid JSON')\n        return\n    if name in ('arrays','objects','iterables','booleans','numbers','strings','nulls','values','scalars','normals','finites'):\n        ok = {'arrays':isinstance(value,list),'objects':isinstance(value,dict),\n              'iterables':isinstance(value,(list,dict)),'booleans':isinstance(value,bool),\n              'numbers':isinstance(value,(int,float)) and not isinstance(value,bool),\n              'strings':isinstance(value,str),'nulls':value is None,\n              'values':value is not None,'scalars':not isinstance(value,(list,dict))}[name]\n        if ok: yield value\n        return\n    if name == 'keys':\n        if isinstance(value, dict): yield sorted(value)\n        elif isinstance(value, list): yield list(range(len(value)))\n        else: raise RuntimeError('keys requires object or array')\n        return\n    if name == 'first':\n        try: yield next(_node(args[0], value, env))\n        except StopIteration: return\n        return\n    if name == 'last':\n        vals=list(_node(args[0], value, env));\n        if vals: yield vals[-1]\n        return\n    if name == 'select':\n        if _truth(_one(args[0], value, env)): yield value\n        return\n    if name == 'limit':\n        count=int(_one(args[0], value, env))\n        if count < 0: raise RuntimeError(\"limit doesn't support negative count\")\n        for item in _node(args[1], value, env):\n            if count <= 0: break\n            yield item; count -= 1\n        return\n    if name == 'skip':\n        count=int(_one(args[0], value, env))\n        if count < 0: raise RuntimeError(\"skip doesn't support negative count\")\n        for item in _node(args[1], value, env):\n            if count: count -= 1\n            else: yield item\n        return\n    if name == 'join':\n        for separator in _node(args[0], value, env):\n            if not isinstance(value, list): raise RuntimeError('cannot join value')\n            yield str(separator).join('' if item is None else _stringify(item) for item in value)\n        return\n    if name in ('sin','cos','tan','asin','acos','atan','sqrt','log','log10','exp','exp2','log2'):\n        yield getattr(math, name)(value); return\n    if name in ('round','ceil','floor','fabs'):\n        yield getattr(math, name)(value); return\n    if name == 'split':\n        separator = _one(args[0], value, env); yield value.split(separator); return\n    if name == 'startswith':\n        yield value.startswith(_one(args[0], value, env)); return\n    if name == 'endswith':\n        yield value.endswith(_one(args[0], value, env)); return\n    if name in ('sort', 'unique'):\n        if not isinstance(value, list):\n            raise RuntimeError('cannot sort value')\n        ordered = sorted(value, key=_jq_sort_key)\n        if name == 'unique':\n            ordered = _dedupe_sorted(ordered)\n        yield ordered\n        return\n    raise RuntimeError(f\"unknown function {name}\")\n\n\ndef _jq_sort_key(value: object) -> tuple[object, ...]:\n    \"\"\"Return jq's basic total-order key for values used by sort/unique.\"\"\"\n    if value is None: return (0,)\n    if isinstance(value, bool): return (1, int(value))\n    if isinstance(value, (int, float)): return (2, value)\n    if isinstance(value, str): return (3, value)\n    if isinstance(value, list): return (4, tuple(_jq_sort_key(item) for item in value))\n    if isinstance(value, dict):\n        return (5, tuple((key, _jq_sort_key(item)) for key, item in sorted(value.items())))\n    return (6, repr(value))\n\n\ndef _dedupe_sorted(values: list[object]) -> list[object]:\n    result: list[object] = []\n    for value in values:\n        if not result or value != result[-1]:\n            result.append(value)\n    return result\ndef _decode_string(text,value,env):\n    if \"\\\\(\" not in text: return json.loads(text)\n    from .parser import parse\n    inner=text[1:-1]; out=''; pos=0\n    while pos<len(inner):\n        mark=inner.find('\\\\(',pos)\n        if mark<0: out+=json.loads('\"'+inner[pos:]+'\"'); break\n        out+=json.loads('\"'+inner[pos:mark]+'\"'); depth=1; end=mark+2\n        while depth and end<len(inner):\n            if inner[end]=='(': depth+=1\n            elif inner[end]==')': depth-=1\n            end+=1\n        expression = inner[mark + 2:end - 1]\n        out += _stringify(_one(parse(expression), value, env))\n        pos=end\n    return out\n\ndef _short(value: object) -> str:\n    if isinstance(value, float) and value.is_integer():\n        return str(int(value))\n    return _stringify(value)\n\ndef _stringify(value: object) -> str:\n    import json\n    return value if isinstance(value, str) else json.dumps(value, separators=(\",\", \":\"), ensure_ascii=False, allow_nan=False)\n\ndef _apply_format(name: str, value: object, template: bool = False) -> str:\n    import base64, html, json, urllib.parse\n    if name == \"text\": return _stringify(value)\n    if name == \"json\": return json.dumps(value, separators=(\",\", \":\"), ensure_ascii=False)\n    if name == \"html\": return html.escape(_stringify(value), quote=True).replace(\"&#x27;\", \"&apos;\")\n    if name == \"uri\": return urllib.parse.quote(_stringify(value), safe=\"-_.~\")\n    if name == \"urid\": return urllib.parse.unquote(_stringify(value))\n    if name == \"base64\": return base64.b64encode(_stringify(value).encode()).decode()\n    if name == \"base64d\": return base64.b64decode(_stringify(value)).decode()\n    if name == \"csv\": return \",\".join('\"' + str(x).replace('\"', '\"\"') + '\"' if isinstance(x, str) else _stringify(x) for x in value)\n    if name == \"tsv\": return \"\\t\".join(_stringify(x).replace(\"\\\\\", \"\\\\\\\\\").replace(\"\\n\", \"\\\\n\").replace(\"\\r\", \"\\\\r\").replace(\"\\t\", \"\\\\t\") for x in value)\n    if name == \"sh\": return \"'\" + _stringify(value).replace(\"'\", \"'\\\\''\") + \"'\"\n    raise RuntimeError(f\"unknown format @{name}\")\n\"\"\"Precedence-aware jq expression parser.\"\"\"\nimport json\nimport re\nfrom dataclasses import dataclass\nfrom .ast import Filter, Node, StringTemplate, Format\nfrom .errors import CompileError\nfrom .lexer import tokenize\n\n@dataclass(frozen=True)\nclass T: text: str\nOPS=(\"//=\",\"?//\",\"!=\",\"==\",\"|=\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"<=\",\">=\",\"..\",\"//\")\n# jq's query grammar gives the pipe lower precedence than comma.  This is\n# significant for ``a | b, c``: it means ``a | (b, c)`` and keeps the input\n# stream attached to both branches.  The parser's numeric levels increase\n# with binding strength.\nPREC={\"|\":1,\",\":2,\"=\":3,\"|=\":3,\"+=\":3,\"-=\":3,\"*=\":3,\"/=\":3,\"%=\":3,\"//=\":3,\"//\":4,\"or\":5,\"and\":6,\"==\":7,\"!=\":7,\"<\":7,\">\":7,\"<=\":7,\">=\":7,\"+\":8,\"-\":8,\"*\":9,\"/\":9,\"%\":9}\n\ndef lex(s: str) -> list[T]:\n    s=re.sub(r\"#[^\\n]*\",\"\",s); out=[]; i=0\n    while i<len(s):\n        if s[i].isspace(): i+=1; continue\n        if s[i]=='\"':\n            a=i; i+=1; esc=False\n            while i<len(s):\n                c=s[i]; i+=1\n                if esc: esc=False\n                elif c=='\\\\': esc=True\n                elif c=='\"': break\n            else: raise CompileError(\"unterminated string\")\n            out.append(T(s[a:i])); continue\n        op=next((x for x in OPS if s.startswith(x,i)),None)\n        if op: out.append(T(op)); i+=len(op); continue\n        m=re.match(r\"(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\",s[i:])\n        if m: out.append(T(m.group())); i+=len(m.group()); continue\n        m=re.match(r\"(?:[A-Za-z_][A-Za-z_0-9]*::)*[A-Za-z_][A-Za-z_0-9]*\",s[i:])\n        if m: out.append(T(m.group())); i+=len(m.group()); continue\n        if s[i]=='$':\n            m=re.match(r\"\\$[A-Za-z_][A-Za-z_0-9]*(?:::[A-Za-z_][A-Za-z_0-9]*)*\",s[i:])\n            if not m: raise CompileError(\"invalid binding\")\n            out.append(T(m.group())); i+=len(m.group()); continue\n        if s[i]=='.' and i+1<len(s) and re.match(r\"[A-Za-z_]\",s[i+1]):\n            m=re.match(r\"\\.[A-Za-z_][A-Za-z_0-9]*\",s[i:]); out.append(T(m.group())); i+=len(m.group()); continue\n        if s[i]=='@':\n            m=re.match(r\"@[A-Za-z_][A-Za-z_0-9]*\",s[i:])\n            if not m: raise CompileError(\"invalid format\")\n            out.append(T(m.group())); i+=len(m.group()); continue\n        if s[i] in \".?=;,:|+-*/%$<>()[]{}\": out.append(T(s[i])); i+=1; continue\n        raise CompileError(\"unexpected character\")\n    out.append(T(\"<eof>\")); return out\n\nclass Parser:\n    def __init__(self,s:str): self.t=lex(s); self.i=0\n    def p(self): return self.t[self.i].text\n    def take(self,x=None):\n        v=self.p()\n        if x is not None and v!=x: raise CompileError(f\"expected {x}\")\n        self.i+=1; return v\n    def parse(self):\n        if self.p()==\"<eof>\": raise CompileError(\"empty program\")\n        x=self.expr(0)\n        while self.p()==';': self.take()\n        if self.p()!='<eof>': raise CompileError(\"unexpected token\")\n        return x\n    def expr(self,n, stop_comma=False):\n        x=self.prefix()\n        # Binding is a query construct, below all ordinary operators.\n        if self.p()=='as' and n <= 2:\n            self.take('as'); pattern=self.pattern(); self.take('|')\n            return Node('bind',(x,pattern,self.expr(0)))\n        while (self.p() in PREC or self.p() in ('and','or')) and PREC.get(self.p(), 0)>=n:\n            if stop_comma and self.p() == ',': break\n            op=self.take(); q=PREC[op]; x=Node(\"binary\",(op,x,self.expr(q if op in (\"=\",\"|=\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"//=\") else q+1, stop_comma)))\n        if self.p()=='as' and n <= 2:\n            self.take('as'); pattern=self.pattern(); self.take('|')\n            return Node('bind',(x,pattern,self.expr(0)))\n        return x\n    def prefix(self):\n        t=self.p()\n        if t=='-': self.take(); return Node('unary',('-',self.expr(10)))\n        if t=='if': return self.post(self.if_expr())\n        if t in ('try','reduce','foreach','label','break','def','module','import','include'): return self.post(self.control(t))\n        if t=='(': self.take(); x=self.expr(0); self.take(')'); return self.post(x)\n        if t=='[':\n            self.take()\n            if self.p()==']': x=Node('array',(None,))\n            else:\n                # Commas delimit array elements here; query commas inside an\n                # element remain available through parentheses.\n                parts=[self.expr(1, True)]\n                while self.p()==',': self.take(); parts.append(self.expr(1, True))\n                combined=parts[0]\n                for part in parts[1:]: combined=Node('binary',(',',combined,part))\n                x=Node('array',(combined,))\n            self.take(']'); return self.post(x)\n        if t=='{': return self.object()\n        if t=='.': self.take(); return self.post(Node('identity'))\n        if t.startswith('.'): self.take(); return self.post(Node('field',(t[1:],)))\n        if t.startswith('$'): self.take(); return self.post(Node('var',(t[1:],)))\n        if t.startswith('\"'): self.take(); return self.post(Node('string',(t,)))\n        if t.startswith('@'): self.take(); return self.post(Node('format',(t[1:],)))\n        self.take()\n        if t in ('true','false','null','nan','infinite','-infinite','-nan') or re.fullmatch(r'(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?',t): return self.post(Node('literal',(t,)))\n        return self.post(Node('call',(t,())))\n    def post(self,x):\n        while True:\n            if self.p().startswith('\"') and isinstance(x,Node) and x.operation=='format':\n                x=Node('format_template',(x.arguments[0],self.take())); continue\n            if self.p().startswith('\"'):\n                x=Node('indexexpr',(x,Node('string',(self.take(),)))); continue\n            if self.p()=='?': self.take(); x=Node('optional',(x,)); continue\n            if self.p().startswith('.') and len(self.p())>1: x=Node('index',(x,self.take()[1:],False)); continue\n            if self.p()=='.' and self.t[self.i+1].text.startswith('\"'):\n                self.take('.'); x=Node('indexexpr',(x,Node('string',(self.take(),)))); continue\n            if self.p()=='.' and self.t[self.i+1].text=='[':\n                self.take('.'); continue\n            if self.p()=='[':\n                self.take()\n                if self.p()==']': self.take(); x=Node('iterate',(x,)); continue\n                a=self.expr(0)\n                if self.p()==':': self.take(); b=None if self.p()==']' else self.expr(0); self.take(']'); x=Node('slice',(x,a,b))\n                else: self.take(']'); x=Node('indexexpr',(x,a))\n                continue\n            if self.p()=='(' and isinstance(x,Node) and x.operation=='call':\n                name=x.arguments[0]; self.take(); args=[]\n                if self.p()!=')':\n                    args.append(self.expr(0))\n                    # jq's grammar uses semicolons for filter arguments.  The\n                    # corpus also exercises the permissive comma spelling.\n                    while self.p()==';': self.take(); args.append(self.expr(0))\n                self.take(')'); x=Node('call',(name,tuple(args))); continue\n            break\n        return x\n    def object(self):\n        self.take('{'); pairs=[]\n        while self.p()!='}':\n            if self.p()=='(':\n                self.take('('); key=self.expr(0); self.take(')')\n            else:\n                k=self.take()\n                if k.startswith('\"'):\n                    key=Node('string',(k,))\n                elif k.startswith('$'):\n                    key=Node('var',(k[1:],))\n                else:\n                    key=Node('string',(json.dumps(k.lstrip('$').lstrip('.')),))\n            if self.p()==':': self.take(); v=self.expr(1, True)\n            else:\n                # `{name}` and `{$name}` abbreviate an access using the key.\n                raw = k.lstrip('$').lstrip('.')\n                v=Node('var',(raw,)) if k.startswith('$') else Node('index',(Node('identity'),raw,False))\n            if key.operation == 'literal':\n                raise CompileError('object key must be a string')\n            pairs.append((key,v))\n            if self.p()!= '}': self.take(',')\n        self.take('}'); return Node('object',(tuple(pairs),))\n\n    def pattern(self):\n        t=self.p()\n        if t.startswith('$'):\n            result=Node('pattern_var',(self.take()[1:],))\n            return self._pattern_alt(result)\n        if t=='[':\n            self.take()\n            if self.p()==']': raise CompileError('empty destructuring pattern')\n            items=[]\n            if self.p()!=']':\n                items.append(self.pattern())\n                while self.p()==',': self.take(); items.append(self.pattern())\n            self.take(']'); return self._pattern_alt(Node('pattern_array',(tuple(items),)))\n        if t=='{':\n            self.take()\n            if self.p()=='}': raise CompileError('empty destructuring pattern')\n            items=[]\n            if self.p()!='}':\n                while True:\n                    key=self.take()\n                    if self.p()==':': self.take(); pat=self.pattern()\n                    elif key.startswith('$'): pat=Node('pattern_var',(key[1:],))\n                    else: pat=Node('pattern_var',(key,))\n                    items.append((key.lstrip('$'),pat))\n                    if self.p()!='}': self.take(',')\n                    else: break\n            self.take('}'); return self._pattern_alt(Node('pattern_object',(tuple(items),)))\n        raise CompileError('expected binding pattern')\n\n    def _pattern_alt(self, result):\n        if self.p()=='?//':\n            self.take('?//'); return Node('pattern_alt',(result,self.pattern()))\n        return result\n    def if_expr(self):\n        self.take('if'); c=self.expr(0); self.take('then'); a=self.expr(0); b=Node('literal',('null',))\n        if self.p()=='else': self.take(); b=self.expr(0); self.take('end')\n        elif self.p()=='elif':\n            b=self._elif_expr()\n        else: self.take('end'); b=Node('identity')\n        return Node('if',(c,a,b))\n    def _elif_expr(self):\n        self.take('elif'); c=self.expr(0); self.take('then'); a=self.expr(0)\n        if self.p()=='elif': b=self._elif_expr()\n        elif self.p()=='else': self.take(); b=self.expr(0); self.take('end')\n        else: self.take('end'); b=Node('identity')\n        return Node('if',(c,a,b))\n    def control(self,w):\n        self.take(w)\n        if w in ('module', 'import', 'include'):\n            raise CompileError('module directives are not available')\n        if w=='try':\n            # In object values the following comma belongs to the object,\n            # while the try/catch body still admits the full query pipe.\n            a=self.expr(1, True); b=None\n            if self.p()=='catch': self.take(); b=self.expr(1, True)\n            return Node('try',(a,b))\n        if w=='def':\n            name=self.take(); ps=[]\n            if self.p()=='(': self.take();\n            while self.p() not in (')',':'):\n                ps.append(self.take().lstrip('$'))\n                if self.p()==';': self.take()\n            if ps: self.take(')')\n            self.take(':'); b=self.expr(0); self.take(';')\n            definition=Node('def',(name,tuple(ps),b))\n            if self.p()!='<eof>': return Node('defprog',(definition,self.expr(0)))\n            return definition\n        if w in ('reduce','foreach'):\n            src=self.expr(3); self.take('as'); pat=self.pattern(); self.take('('); init=self.expr(0); self.take(';'); upd=self.expr(2); ext=None\n            if self.p()==';': self.take(); ext=self.expr(2)\n            self.take(')'); return Node(w,(src,pat,init,upd,ext))\n        if w=='label': name=self.take().lstrip('$'); self.take('|'); return Node('label',(name,self.expr(0)))\n        if w=='break': return Node('break',(self.take().lstrip('$'),))\n        return Node('unsupported',(w,))\n\ndef parse(source: str) -> Filter:\n    tokenize(source)\n    if source.strip() == 'not-a-filter': raise CompileError('unknown filter')\n    stripped=source.strip()\n    if stripped.startswith('\"') and '\\\\(' in stripped:\n        parts=[]; pos=1; end=len(stripped)-1\n        while pos<end:\n            mark=stripped.find('\\\\(',pos)\n            if mark<0:\n                parts.append(json.loads('\"'+stripped[pos:end]+'\"')); break\n            if mark>pos: parts.append(json.loads('\"'+stripped[pos:mark]+'\"'))\n            depth=1; cursor=mark+2\n            while depth and cursor<end:\n                if stripped[cursor]=='(': depth+=1\n                elif stripped[cursor]==')': depth-=1\n                cursor+=1\n            parts.append(parse(stripped[mark+2:cursor-1])); pos=cursor\n        return StringTemplate(tuple(parts))\n    if stripped.startswith('@') and ' \"' in stripped:\n        name, template=stripped.split(None,1); inner=parse(template)\n        return Format(name[1:], inner if isinstance(inner,StringTemplate) else StringTemplate((inner,)))\n    result=Parser(source).parse()\n    # Bare calls are valid jq builtins as well as user definitions supplied by\n    # the builtin library.  Retain compile-time rejection for an unknown bare\n    # identifier while registering the standard library's zero-argument names.\n    known = set('empty error length type not tostring tojson abs fabs floor ceil round sqrt sin cos tan asin acos atan log log10 exp exp2 log2 pow keys sort add min max any all arrays objects iterables booleans numbers normals finites strings nulls values scalars unique reverse paths builtins modulemeta'.split())\n    if isinstance(result, Node) and result.operation == 'call' and not result.arguments[1] and result.arguments[0] not in known:\n        raise CompileError('unknown filter')\n    return result\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_3","type":"command_execution","command":"/bin/bash -lc 'python3 -m py_compile jq_interpreter/*.py; timeout 180 env JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/parse004.json; echo rc:\"'$?; python3 - <<'\"'PY'\nimport json\np=json.load(open('/tmp/parse004.json')); print(p['summary']);\nfor x in p.get('cases',[]):\n if x.get('status') not in ('pass','skip'): print(x.get('name'),x.get('status'),x.get('program'),x.get('error'),x.get('actual'))\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.started","item":{"id":"item_4","type":"command_execution","command":"/bin/bash -lc \"ls -l /tmp/parse004.json; head -c 300 /tmp/parse004.json; echo; ps aux | rg 'run_conformance|./jq' || true\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_4","type":"command_execution","command":"/bin/bash -lc \"ls -l /tmp/parse004.json; head -c 300 /tmp/parse004.json; echo; ps aux | rg 'run_conformance|./jq' || true\"","aggregated_output":"-rw-r--r-- 1 barlo barlo 0 Aug 22 18:22 /tmp/parse004.json\n\nbarlo    2492175 99.9  0.0  44608  6912 ?        R    Aug19 4539:47 python3 /mnt/c/Users/barlo/projects/jq/jq -c isempty(repeat(empty))\nbarlo    3124586  0.0  0.2 759792 42240 ?        Ssl  18:21   0:00 node /home/barlo/.nvm/versions/node/v20.19.5/bin/codex exec --ignore-user-config --ignore-rules --ephemeral --sandbox danger-full-access --cd /mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq --json --output-last-message /mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/workspace/logs/20260822.222140.216Z_jq_build_codex.output.txt --model gpt-5.6-luna -\nbarlo    3124597  0.9  0.8 884300 144368 ?       Sl   18:21   0:01 /home/barlo/.nvm/versions/node/v20.19.5/lib/node_modules/@openai/codex/node_modules/@openai/codex-linux-x64/vendor/x86_64-unknown-linux-musl/bin/codex exec --ignore-user-config --ignore-rules --ephemeral --sandbox danger-full-access --cd /mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq --json --output-last-message /mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/workspace/logs/20260822.222140.216Z_jq_build_codex.output.txt --model gpt-5.6-luna -\nbarlo    3124809  0.0  0.0   4788  3328 ?        Ss   18:21   0:00 /bin/bash -c ls -la && find . -maxdepth 3 -type f | sort && python3 - <<'PY' import os print('cwd', os.getcwd()) PY python3 - <<'PY' import json, os, subprocess, sys for sel in [r'\\.|\\[|\\{|\\+|\\-|\\*|/|%', r'%%FAIL|if |try |reduce |foreach |def | as |label |module|include']:  r=subprocess.run([sys.executable,'sources/run_conformance.py','--select',sel,'--json'],capture_output=True,text=True,env={**os.environ,'JQ':os.getcwd()+'/jq'})  print('SELECT',sel,'rc',r.returncode)  print(r.stdout)  print(r.stderr) PY\nbarlo    3124815  0.4  0.1  40648 20976 ?        S    18:21   0:00 /mnt/c/Users/barlo/projects/drydock/.venv/bin/python3 sources/run_conformance.py --select \\.|\\[|\\{|\\+|\\-|\\*|/|% --json\nbarlo    3125092  0.0  0.0   4788  3072 ?        Ss   18:22   0:00 /bin/bash -c python3 -m py_compile jq_interpreter/*.py; timeout 180 env JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/parse004.json; echo rc:$?; python3 - <<'PY' import json p=json.load(open('/tmp/parse004.json')); print(p['summary']); for x in p.get('cases',[]):  if x.get('status') not in ('pass','skip'): print(x.get('name'),x.get('status'),x.get('program'),x.get('error'),x.get('actual')) PY\nbarlo    3125099  0.0  0.0   3224  1792 ?        S    18:22   0:00 timeout 180 env JQ=/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq python3 sources/run_conformance.py --select %%FAIL|if |try |reduce |foreach |def | as |label |module|include --json\nbarlo    3125100  0.6  0.1  39820 21264 ?        S    18:22   0:00 python3 sources/run_conformance.py --select %%FAIL|if |try |reduce |foreach |def | as |label |module|include --json\nbarlo    3125632  8.6  0.1  37296 18176 ?        D    18:23   0:00 python3 /mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq -c try ((reduce range(10001) as $_ ([]; [.])) as $x | [$x, $x] | unique) catch .\nbarlo    3125637  7.5  0.1  38364 18944 ?        D    18:23   0:00 python3 /mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq -c try ((reduce range(10001) as $_ ({}; {a: .})) as $x | [$x, $x] | sort) catch .\nbarlo    3125640  0.0  0.0   4788  3072 ?        Ss   18:23   0:00 /bin/bash -c ls -l /tmp/parse004.json; head -c 300 /tmp/parse004.json; echo; ps aux | rg 'run_conformance|./jq' || true\nbarlo    3125644  0.0  0.0   9868  4608 ?        S    18:23   0:00 rg run_conformance|./jq\n","exit_code":0,"status":"completed"}}
{"type":"item.completed","item":{"id":"item_5","type":"agent_message","text":"The scoped run is being consumed by the corpus’s intentional 10,000-level depth cases; the current evaluator has no depth guard and hangs there instead of producing the expected runtime error. I’m isolating those cases and will add bounded structural handling, then address the ordinary semantic mismatches."}}
{"type":"item.completed","item":{"id":"item_3","type":"command_execution","command":"/bin/bash -lc 'python3 -m py_compile jq_interpreter/*.py; timeout 180 env JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/parse004.json; echo rc:\"'$?; python3 - <<'\"'PY'\nimport json\np=json.load(open('/tmp/parse004.json')); print(p['summary']);\nfor x in p.get('cases',[]):\n if x.get('status') not in ('pass','skip'): print(x.get('name'),x.get('status'),x.get('program'),x.get('error'),x.get('actual'))\nPY\"","aggregated_output":"rc:1\n{'pass': 105, 'fail': 106, 'error': 0, 'skip': 13}\nNone fail map(try .a[] catch ., try .a.[] catch ., .a[]?, .a.[]?) None ['[1,2,1,2,1,2,1,2,\"cannot iterate over value\",\"cannot iterate over value\"]']\nNone fail try [\"OK\", (.[] | error)] catch [\"KO\", .] None ['[\"KO\",\"error\"]']\nNone fail try (.foo[-1] = 0) catch . None ['{\"foo\":{\"-1\":0}}']\nNone fail try (.foo[-2] = 0) catch . None ['{\"foo\":{\"-2\":0}}']\nNone fail try (.[999999999] = 0) catch . None ['{\"999999999\":0}']\nNone fail . as $foo | break $foo None []\nNone fail [foreach .[] / .[] as $i (0; . + $i)] None ['[1.0,1.5,3.5,4.5]']\nNone fail [nth(0,5,9,10,15; range(.)), try nth(-1; range(.)) catch .] None []\nNone fail . as {as: $kw, \"str\": $str, (\"e\"+\"x\"+\"p\"): $exp} | [$kw, $str, $exp] None []\nNone fail . as $foo | [$foo, $bar] None []\nNone fail .[] | try toboolean catch . None ['\"unknown function toboolean\"', '\"unknown function toboolean\"', '\"unknown function toboolean\"', '\"unknown function toboolean\"', '\"unknown function toboolean\"', '\"unknown function toboolean\"', '\"unknown function toboolean\"', '\"unknown function toboolean\"']\nNone fail \"true\\u0000x\", \"false\\u0000\" | try toboolean catch . None ['\"unknown function toboolean\"', '\"unknown function toboolean\"']\nNone fail [{\"a\":42},.object,10,.num,false,true,null,\"b\",[1,4]] | .[] as $x | [$x == .[]] None []\nNone fail [.[] | try utf8bytelength catch .] None ['[\"unknown function utf8bytelength\",\"unknown function utf8bytelength\",\"unknown function utf8bytelength\",\"unknown function utf8bytelength\",\"unknown function utf8bytelength\",\"unknown function utf8bytelength\"]']\nNone fail def f: 1; def g: f, def f: 2; def g: 3; f, def f: g; f, g; def f: 4; [f, def f: g; def g: 5; f, g]+[f,g] None ['[4,5,5,4,4,2,3,3]']\nNone fail def f: .+1; def g: f; def f: .+100; def f(a):a+.+11; [(g|f(20)), f] None []\nNone fail def id(x):x; 2000 as $x | def f(x):1 as $x | id([$x, x, x]); def g(x): 100 as $x | f($x,$x+x); g($x) None []\nNone fail def x(a;b): a as $a | b as $b | $a + $b; def y($a;$b): $a + $b; def check(a;b): [x(a;b)] == [y(a;b)]; check(.[];.[]*2) None []\nNone fail [[20,10][1,0] as $x | def f: (100,200) as $y | def g: [$x + $y, .]; . + $x | g; f[0] | [f][0][1] | f] None ['[[110,130],[210,130],[110,230],[210,230]]']\nNone fail . as {$a, $b:[$c, $d]}| [$a, $b, $c, $d] None []\nNone fail .[] | . as {$a, b: [$c, {$d}]} ?// [$a, {$b}, $e] ?// $f | [$a, $b, $c, $d, $e, $f] None []\nNone fail . as $dot|any($dot[];not) None []\nNone fail . as $dot|any($dot[];not) None []\nNone fail . as $dot|all($dot[];.) None []\nNone fail . as $dot|all($dot[];.) None []\nNone fail try path(.a | map(select(.b == 0))) catch . None ['\"unknown function path\"']\nNone fail try path(.a | map(select(.b == 0)) | .[0]) catch . None ['\"unknown function path\"']\nNone fail try path(.a | map(select(.b == 0)) | .c) catch . None ['\"unknown function path\"']\nNone fail try path(.a | map(select(.b == 0)) | .[]) catch . None ['\"unknown function path\"']\nNone fail [\"foo\",1] as $p | getpath($p), setpath($p; 20), delpaths([$p]) None []\nNone fail [\"foo\",1] as $p | getpath($p), setpath($p; 20), delpaths([$p]) None []\nNone fail try delpaths(0) catch . None ['\"unknown function delpaths\"']\nNone fail try pick(last) catch . None ['\"unknown function pick\"']\nNone fail def inc(x): x |= .+1; inc(.[].a) None []\nNone fail .[] | try (getpath([\"a\",0,\"b\"]) |= 5) catch . None []\nNone fail try ((map(select(.a == 1))[].b) = 10) catch . None []\nNone fail try ((map(select(.a == 1))[].a) |= .+1) catch . None []\nNone fail try (def x: reverse; x=10) catch . None []\nNone fail [.[]|try if . == 0 then error(\"foo\") elif . == 1 then .a elif . == 2 then empty else . end catch .] None ['[\"foo\",\"cannot index value\",3]']\nNone fail try error(0) // 1 None []\nNone fail 1 + try 2 catch 3 + 4 None ['3']\nNone fail try -.? catch . None []\nNone fail .[] | try error catch . None ['\"error\"', '\"error\"', '\"error\"']\nNone fail try error(\"\\($__loc__)\") catch . None ['\"variable $__loc__ is not defined\"']\nNone fail try _strindices(\"abc\") catch . None ['\"unknown function _strindices\"']\nNone fail try _strindices(123) catch . None ['\"unknown function _strindices\"']\nNone fail try trim catch ., try ltrim catch ., try rtrim catch . None ['\"unknown function trim\"', '\"unknown function ltrim\"', '\"unknown function rtrim\"']\nNone fail try [\"OK\", bsearch(0)] catch [\"KO\",.] None ['[\"KO\",\"unknown function bsearch\"]']\nNone fail try strftime(\"%Y-%m-%dT%H:%M:%SZ\") catch . None ['\"unknown function strftime\"']\nNone fail try strflocaltime(\"%Y-%m-%dT%H:%M:%SZ\") catch . None ['\"unknown function strflocaltime\"']\nNone fail try mktime catch . None ['\"unknown function mktime\"']\nNone fail try [\"OK\", strftime([])] catch [\"KO\", .] None ['[\"KO\",\"unknown function strftime\"]']\nNone fail try [\"OK\", strflocaltime({})] catch [\"KO\", .] None ['[\"KO\",\"unknown function strflocaltime\"]']\nNone fail try -. catch . None []\nNone fail try (.-.) catch . None []\nNone fail \"x\" * range(0; 12; 2) + \"☆\" * 8 | try -. catch . None []\nNone fail try (. + \"x\") catch . == if have_decnum then \"number (12345678901234567890123456...) and string (\\\"x\\\") cannot be added\" else \"number (12345678901234568000000000...) and string (\\\"x\\\") cannot be added\" end None []\nNone fail try join(\",\") catch . None ['\"1,2,{\\\\\"a\\\\\":{\\\\\"b\\\\\":{\\\\\"c\\\\\":33}}}\"']\nNone fail try join(\",\") catch . None ['\"1,2,[3,4,5]\"']\nNone fail [range(-52;52;1)] as $powers | [$powers[]|pow(2;.)|log2|round] == $powers None []\nNone fail (.a as $x | .b) = \"b\" None []\nNone fail .[0] | tostring | . == if have_decnum then \"13911860366432393\" else \"13911860366432392\" end None []\nNone fail .x | tojson | . == if have_decnum then \"13911860366432393\" else \"13911860366432392\" end None []\nNone fail (13911860366432393 == 13911860366432392) | . == if have_decnum then false else true end None []\nNone fail -. | tojson == if have_decnum then \"-13911860366432393\" else \"-13911860366432392\" end None []\nNone fail -. | tojson == if have_decnum then \"0.12345678901234567890123456789\" else \"0.12345678901234568\" end None []\nNone fail [1E+1000,-1E+1000 | tojson] == if have_decnum then [\"1E+1000\",\"-1E+1000\"] else [\"1.7976931348623157e+308\",\"-1.7976931348623157e+308\"] end None []\nNone fail .[] as $n | $n+0 | [., tostring, . == $n] None ['[-9007199254740993,\"-9007199254740993\",true]', '[-9007199254740992,\"-9007199254740992\",true]', '[9007199254740992,\"9007199254740992\",true]', '[9007199254740993,\"9007199254740993\",true]', '[13911860366432393,\"13911860366432393\",true]']\nNone fail [1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\"1E+1000\"] else [\"1.7976931348623157e+308\"] end None []\nNone fail [1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\"1E+1000\"] else [\"1.7976931348623157e+308\"] end None []\nNone fail 1 as $foreach | 2 as $and | 3 as $or | { $foreach, $and, $or, a } None ['{\"1\":1,\"2\":2,\"3\":3,\"a\":4}']\nNone fail 1 as $x | \"2\" as $y | \"3\" as $z | { $x, as, $y: 4, ($z): 5, if: 6, foo: 7 } None ['{\"1\":1,\"as\":8,\"2\":4,\"3\":5,\"if\":6,\"foo\":7}']\nNone fail .[] | try (fromjson | isnan) catch . None ['\"unknown function isnan\"', '\"invalid JSON\"', '\"invalid JSON\"', '\"invalid JSON\"', '\"invalid JSON\"', '\"invalid JSON\"', '\"invalid JSON\"', '\"invalid JSON\"']\nNone fail try input catch . None ['\"unknown function input\"']\nNone fail try ([\"hi\",\"ho\"]|.[]|(try . catch (if .==\"ho\" then \"BROKEN\"|error else empty end)) | if .==\"ho\" then error else \"\\(.) there!\" end) catch \"caught outside \\(.)\" None ['\"hi there!\"', '\"caught outside error\"']\nNone fail try (try error catch \"inner catch \\(.)\") catch \"outer catch \\(.)\" None ['\"inner catch error\"']\nNone fail try ((try error catch \"inner catch \\(.)\")|error) catch \"outer catch \\(.)\" None ['\"outer catch error\"']\nNone fail .[] |= try tonumber None ['[1,null,3,4,5,6.7,null,-876,null,21]']\nNone fail map(try implode catch .) None []\nNone fail try 0[implode] catch . None ['\"unknown function implode\"']\nNone fail try ([range(3)] | .[nan] = 9) catch . None []\nNone fail try (\"foobar\" | .[1.5:3.5] = \"xyz\") catch . None []\nNone fail try ([range(10)] | .[1.5:3.5] = [\"xyz\"]) catch . None []\nNone fail try (\"foobar\" | .[1.5]) catch . None ['\"cannot index string with number\"']\nNone fail try [\"ok\", setpath([1]; 1)] catch [\"ko\", .] None ['[\"ko\",\"unknown function setpath\"]']\nNone fail try fromjson catch . None ['\"invalid JSON\"']\nNone fail try ltrimstr(1) catch \"x\", try rtrimstr(1) catch \"x\" | \"ok\" None ['\"x\"', '\"ok\"']\nNone fail try ltrimstr(\"x\") catch \"x\", try rtrimstr(\"x\") catch \"x\" | \"ok\" None ['\"x\"', '\"ok\"']\nNone fail .[] as [$x, $y] | try [\"ok\", ($x | ltrimstr($y))] catch [\"ko\", .] None ['[\"ko\",\"unknown function ltrimstr\"]', '[\"ko\",\"unknown function ltrimstr\"]', '[\"ko\",\"unknown function ltrimstr\"]', '[\"ko\",\"unknown function ltrimstr\"]']\nNone fail .[] as [$x, $y] | try [\"ok\", ($x | rtrimstr($y))] catch [\"ko\", .] None ['[\"ko\",\"unknown function rtrimstr\"]', '[\"ko\",\"unknown function rtrimstr\"]', '[\"ko\",\"unknown function rtrimstr\"]', '[\"ko\",\"unknown function rtrimstr\"]']\nNone fail try [\"OK\", setpath([[1]]; 1)] catch [\"KO\", .] None ['[\"KO\",\"unknown function setpath\"]']\nNone fail foreach .[] as $x (0, 1; . + $x) None ['1', '2', '3', '4']\nNone fail reduce range(9999) as $_ ([];[.]) | tojson | fromjson | flatten None []\nNone fail reduce range(10000) as $_ ([];[.]) | tojson | try (fromjson) catch . | (contains(\"<skipped: too deep>\") | not) and contains(\"Exceeds depth limit for parsing\") None []\nNone fail reduce range(10001) as $_ ([];[.]) | tojson | contains(\"<skipped: too deep>\") None []\nNone fail try setpath([range(10001) | 0]; 0) catch . None ['\"unknown function setpath\"']\nNone fail try getpath([range(10001) | 0]) catch . None ['\"unknown function getpath\"']\nNone fail try delpaths([[range(10001) | 0]]) catch . None ['\"unknown function delpaths\"']\nNone fail try (reduce range(10001) as $_ ([]; [.]) as $x | $x | contains($x)) catch . None []\nNone fail reduce range(10000) as $_ ({}; {a: .}) as $x | $x * $x | length None []\nNone fail try (reduce range(10001) as $_ ({}; {a: .}) as $x | $x * $x) catch . None []\nNone fail try ((reduce range(10001) as $_ ([]; [.])) as $x | (reduce range(10001) as $_ ([]; [.])) as $y | $x == $y) catch . None []\nNone fail try ((reduce range(10001) as $_ ([]; [.])) as $x | [$x, $x] | sort) catch . None []\nNone fail try ((reduce range(10001) as $_ ([]; [.])) as $x | [$x, $x] | unique) catch . None []\nNone fail try ((reduce range(10001) as $_ ({}; {a: .})) as $x | [$x, $x] | sort) catch . None []\nNone fail try ((reduce range(10001) as $_ ({}; {a: .})) as $x | [$x, $x] | unique) catch . None []\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_6","type":"command_execution","command":"/bin/bash -lc \"pkill -f '/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq' || true\npkill -f 'sources/run_conformance.py --select' || true\nrg -n \\\"def _node|def _binary|if name ==|unknown function|depth|Comparison\\\" jq_interpreter tests\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_6","type":"command_execution","command":"/bin/bash -lc \"pkill -f '/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq' || true\npkill -f 'sources/run_conformance.py --select' || true\nrg -n \\\"def _node|def _binary|if name ==|unknown function|depth|Comparison\\\" jq_interpreter tests\"","aggregated_output":"","exit_code":143,"status":"failed"}}
{"type":"item.started","item":{"id":"item_7","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport sys,subprocess,os\nsys.path.insert(0,'sources'); import run_conformance as h\ncases=h.parse_corpus(h.CORPUS.read_text())\nsel=__import__('re').compile(r'%%FAIL|if |try |reduce |foreach |def | as |label |module|include')\nfor i,c in enumerate(cases):\n if sel.search(c.program) and not any(x in c.program for x in ['10000','10001','65536']):\n  r=subprocess.run([os.getcwd()+'/jq','-c',c.program],input=c.input+'\\\\n',text=True,capture_output=True,timeout=3)\n  exp='\\\\n'.join(c.expected)\n  # compare via harness? print nonzero or output mismatch rough json lines\n  import json\n  def vals(s):\n   try:return [json.loads(x,parse_constant=lambda x:None) for x in s.splitlines() if x]\n   except:return None\n  if c.fail:\n   ok=r.returncode==3\n  else: ok=r.returncode in (0,5) and vals(r.stdout)==vals(exp)\n  if not ok: print(i, 'rc',r.returncode,'prog=',c.program[:100].replace('\\\\n',' '),'out=',r.stdout[:120].replace('\\\\n',' | '),'err=',r.stderr[:80])\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_7","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport sys,subprocess,os\nsys.path.insert(0,'sources'); import run_conformance as h\ncases=h.parse_corpus(h.CORPUS.read_text())\nsel=__import__('re').compile(r'%%FAIL|if |try |reduce |foreach |def | as |label |module|include')\nfor i,c in enumerate(cases):\n if sel.search(c.program) and not any(x in c.program for x in ['10000','10001','65536']):\n  r=subprocess.run([os.getcwd()+'/jq','-c',c.program],input=c.input+'\\\\n',text=True,capture_output=True,timeout=3)\n  exp='\\\\n'.join(c.expected)\n  # compare via harness? print nonzero or output mismatch rough json lines\n  import json\n  def vals(s):\n   try:return [json.loads(x,parse_constant=lambda x:None) for x in s.splitlines() if x]\n   except:return None\n  if c.fail:\n   ok=r.returncode==3\n  else: ok=r.returncode in (0,5) and vals(r.stdout)==vals(exp)\n  if not ok: print(i, 'rc',r.returncode,'prog=',c.program[:100].replace('\\\\n',' '),'out=',r.stdout[:120].replace('\\\\n',' | '),'err=',r.stderr[:80])\nPY\"","aggregated_output":"Traceback (most recent call last):\n  File \"<stdin>\", line 7, in <module>\nAttributeError: 'Case' object has no attribute 'input'\n","exit_code":1,"status":"failed"}}
{"type":"item.started","item":{"id":"item_8","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport sys;sys.path.insert(0,'sources');import run_conformance as h\nc=h.parse_corpus(h.CORPUS.read_text())[0];print(c);print(c.__dict__ if hasattr(c,'__dict__') else '')\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_8","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport sys;sys.path.insert(0,'sources');import run_conformance as h\nc=h.parse_corpus(h.CORPUS.read_text())[0];print(c);print(c.__dict__ if hasattr(c,'__dict__') else '')\nPY\"","aggregated_output":"Case(line=8, program='true', stdin='null', expected=['true'], expect_failure=False, diagnostic='')\n{'line': 8, 'program': 'true', 'stdin': 'null', 'expected': ['true'], 'expect_failure': False, 'diagnostic': ''}\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_9","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport sys,subprocess,os,re,json\nsys.path.insert(0,'sources'); import run_conformance as h\ncases=h.parse_corpus(h.CORPUS.read_text()); sel=re.compile(r'%%FAIL|if |try |reduce |foreach |def | as |label |module|include')\ndef vals(s):\n try:return [json.loads(x,parse_constant=lambda x:None) for x in s.splitlines() if x]\n except:return None\nn=0\nfor i,c in enumerate(cases):\n if sel.search(c.program) and not any(x in c.program for x in ['10000','10001','65536']):\n  n+=1\n  try:r=subprocess.run([os.getcwd()+'/jq','-c',c.program],input=c.stdin+'\\\\n',text=True,capture_output=True,timeout=2)\n  except subprocess.TimeoutExpired: print(i,'TIMEOUT',c.program[:100]);continue\n  ok=(r.returncode==3)==c.expect_failure if c.expect_failure else (r.returncode==0 and vals(r.stdout)==vals('\\\\n'.join(c.expected)))\n  if not ok: print(i,'rc',r.returncode,'prog=',c.program[:130].replace('\\\\n',' '),'out=',r.stdout[:160].replace('\\\\n',' | '),'exp=',c.expected[:2])\nprint('tested',n)\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_1","type":"command_execution","command":"/bin/bash -lc \"ls -la && find . -maxdepth 3 -type f | sort && python3 - <<'PY'\nimport os\nprint('cwd', os.getcwd())\nPY\npython3 - <<'PY'\nimport json, os, subprocess, sys\nfor sel in [r'\\\\.|\\\\[|\\\\{|\\\\+|\\\\-|\\\\*|/|%', r'%%FAIL|if |try |reduce |foreach |def | as |label |module|include']:\n r=subprocess.run([sys.executable,'sources/run_conformance.py','--select',sel,'--json'],capture_output=True,text=True,env={**os.environ,'JQ':os.getcwd()+'/jq'})\n print('SELECT',sel,'rc',r.returncode)\n print(r.stdout)\n print(r.stderr)\nPY\"","aggregated_output":"SELECT \\.|\\[|\\{|\\+|\\-|\\*|/|% rc 1\n{\n  \"candidate\": [\n    \"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq\"\n  ],\n  \"corpus\": \"jq.test\",\n  \"summary\": {\n    \"pass\": 235,\n    \"fail\": 220,\n    \"error\": 0,\n    \"skip\": 9\n  },\n  \"cases\": [\n    {\n      \"line\": 122,\n      \"program\": \"{\\\"a\\\",b,\\\"a$\\\\(1+1)\\\"}\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"{\\\"a\\\":1, \\\"b\\\":2, \\\"a$2\\\":4}\"\n      ],\n      \"actual\": [\n        \"{\\\"a\\\":null,\\\"b\\\":2,\\\"a$2\\\":null}\"\n      ]\n    },\n    {\n      \"line\": 183,\n      \"program\": \"[.[]|.foo?.bar?]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[4,null]\"\n      ],\n      \"actual\": [\n        \"[4]\"\n      ]\n    },\n    {\n      \"line\": 187,\n      \"program\": \"[..]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[[1,[[2]],{\\\"a\\\":[1]}],1,[[2]],[2],2,{\\\"a\\\":[1]},[1],1]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 195,\n      \"program\": \"[.[]|.[1:3]?]\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[null,\\\"bc\\\",[],[2,3],[2]]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 200,\n      \"program\": \"map(try .a[] catch ., try .a.[] catch ., .a[]?, .a.[]?)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,2,1,2,1,2,1,2,\\\"Cannot iterate over number (123)\\\",\\\"Cannot iterate over number (123)\\\"]\"\n      ],\n      \"actual\": [\n        \"[1,2,1,2,1,2,1,2,\\\"cannot iterate over value\\\",\\\"cannot iterate over value\\\"]\"\n      ]\n    },\n    {\n      \"line\": 205,\n      \"program\": \"try [\\\"OK\\\", (.[] | error)] catch [\\\"KO\\\", .]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"KO\\\",[\\\"b\\\"]]\"\n      ],\n      \"actual\": [\n        \"[\\\"KO\\\",\\\"error\\\"]\"\n      ]\n    },\n    {\n      \"line\": 213,\n      \"program\": \"try (.foo[-1] = 0) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Out of bounds negative array index\\\"\"\n      ],\n      \"actual\": [\n        \"{\\\"foo\\\":{\\\"-1\\\":0}}\"\n      ]\n    },\n    {\n      \"line\": 217,\n      \"program\": \"try (.foo[-2] = 0) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Out of bounds negative array index\\\"\"\n      ],\n      \"actual\": [\n        \"{\\\"foo\\\":{\\\"-2\\\":0}}\"\n      ]\n    },\n    {\n      \"line\": 229,\n      \"program\": \"try (.[999999999] = 0) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Array index too large\\\"\"\n      ],\n      \"actual\": [\n        \"{\\\"999999999\\\":0}\"\n      ]\n    },\n    {\n      \"line\": 283,\n      \"program\": \"[.[-4,-3,-2,-1,0,1,2,3]]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[null,1,2,3,1,2,3,null]\"\n      ],\n      \"actual\": [\n        \"[null]\"\n      ]\n    },\n    {\n      \"line\": 291,\n      \"program\": \"[range(0,1;3,4)]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[0,1,2, 0,1,2,3, 1,2, 1,2,3]\"\n      ],\n      \"actual\": [\n        \"[0,1,2]\"\n      ]\n    },\n    {\n      \"line\": 307,\n      \"program\": \"[range(0,1;4,5;1,2)]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[0,1,2,3,0,2, 0,1,2,3,4,0,2,4, 1,2,3,1,3, 1,2,3,4,1,3]\"\n      ],\n      \"actual\": [\n        \"[0,1,2,3]\"\n      ]\n    },\n    {\n      \"line\": 311,\n      \"program\": \"[while(.<100; .*2)]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,2,4,8,16,32,64]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 324,\n      \"program\": \". as $foo | break $foo\",\n      \"status\": \"fail\",\n      \"detail\": \"program was accepted, but the corpus marks it %%FAIL\",\n      \"expect_failure\": true,\n      \"expected\": [],\n      \"actual\": []\n    },\n    {\n      \"line\": 329,\n      \"program\": \"[.[]|[.,1]|until(.[0] < 1; [.[0] - 1, .[1] * .[0]])|.[1]]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,2,6,24,120]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 353,\n      \"program\": \"[foreach .[] / .[] as $i (0; . + $i)]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,3,3.5,4.5]\"\n      ],\n      \"actual\": [\n        \"[1.0,1.5,3.5,4.5]\"\n      ]\n    },\n    {\n      \"line\": 365,\n      \"program\": \"[limit(0; error)]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 369,\n      \"program\": \"[limit(1; 1, error)]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 381,\n      \"program\": \"[skip(0,2,3,4; .[])]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,2,3,3]\"\n      ],\n      \"actual\": [\n        \"[1,2,3]\"\n      ]\n    },\n    {\n      \"line\": 405,\n      \"program\": \"[nth(0,5,9,10,15; range(.)), try nth(-1; range(.)) catch .]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[0,5,9,\\\"nth doesn't support negative indices\\\"]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 420,\n      \"program\": \"[limit(5,7; range(9))]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[0,1,2,3,4,0,1,2,3,4,5,6]\"\n      ],\n      \"actual\": [\n        \"[0,1,2,3,4]\"\n      ]\n    },\n    {\n      \"line\": 425,\n      \"program\": \"[nth(5,7; range(9;0;-1))]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[4,2]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 430,\n      \"program\": \"[range(0,1,2;4,3,2;2,3)]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[0,2,0,3,0,2,0,0,0,1,3,1,1,1,1,1,2,2,2,2]\"\n      ],\n      \"actual\": [\n        \"[0,2]\"\n      ]\n    },\n    {\n      \"line\": 435,\n      \"program\": \"[range(3,5)]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[0,1,2,0,1,2,3,4]\"\n      ],\n      \"actual\": [\n        \"[0,1,2]\"\n      ]\n    },\n    {\n      \"line\": 440,\n      \"program\": \"[(index(\\\",\\\",\\\"|\\\"), rindex(\\\",\\\",\\\"|\\\")), indices(\\\",\\\",\\\"|\\\")]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,3,22,19,[1,5,7,12,14,16,18,20,22],[3,9,10,17,19]]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 466,\n      \"program\": \"[.[3:2], .[-5:4], .[:-2], .[-2:], .[3:3][1:], .[10:]]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[[], [2,3], [0,1,2,3,4], [5,6], [], []]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 470,\n      \"program\": \"[.[3:2], .[-5:4], .[:-2], .[-2:], .[3:3][1:], .[10:]]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"\\\",\\\"\\\",\\\"abcdefg\\\",\\\"hi\\\",\\\"\\\",\\\"\\\"]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 474,\n      \"program\": \"del(.[2:4],.[0],.[-2:])\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,4,5]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 478,\n      \"program\": \".[2:4] = ([], [\\\"a\\\",\\\"b\\\"], [\\\"a\\\",\\\"b\\\",\\\"c\\\"])\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[0,1,4,5,6,7]\",\n        \"[0,1,\\\"a\\\",\\\"b\\\",4,5,6,7]\",\n        \"[0,1,\\\"a\\\",\\\"b\\\",\\\"c\\\",4,5,6,7]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 530,\n      \"program\": \". as {as: $kw, \\\"str\\\": $str, (\\\"e\\\"+\\\"x\\\"+\\\"p\\\"): $exp} | [$kw, $str, $exp]\",\n      \"status\": \"fail\",\n      \"detail\": \"program did not compile: jq: compile error: expected ,\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1, 2, 3]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 560,\n      \"program\": \". as $foo | [$foo, $bar]\",\n      \"status\": \"fail\",\n      \"detail\": \"program was accepted, but the corpus marks it %%FAIL\",\n      \"expect_failure\": true,\n      \"expected\": [],\n      \"actual\": []\n    },\n    {\n      \"line\": 617,\n      \"program\": \"{\\\"a\\\":1} + {\\\"b\\\":2} + {\\\"c\\\":3}\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"{\\\"a\\\":1, \\\"b\\\":2, \\\"c\\\":3}\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 633,\n      \"program\": \"[1,2,3,4,1] - [.,3]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[2,4]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 661,\n      \"program\": \"9E999999999, 9999999999E999999990, 1E-999999999, 0.000000001E-999999990\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"9E+999999999\",\n        \"9.999999999E+999999999\",\n        \"1E-999999999\",\n        \"1E-999999999\"\n      ],\n      \"actual\": [\n        \"null\",\n        \"null\",\n        \"0.0\",\n        \"0.0\"\n      ]\n    },\n    {\n      \"line\": 689,\n      \"program\": \"[(infinite, -infinite) % (1, -1, infinite)]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[0,0,0,0,0,-1]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 693,\n      \"program\": \"[nan % 1, 1 % nan | isnan]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[true,true]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 709,\n      \"program\": \".[] | try toboolean catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"null (null) cannot be parsed as a boolean\\\"\",\n        \"\\\"number (0) cannot be parsed as a boolean\\\"\",\n        \"\\\"string (\\\\\\\"tru\\\\\\\") cannot be parsed as a boolean\\\"\",\n        \"\\\"string (\\\\\\\"truee\\\\\\\") cannot be parsed as a boolean\\\"\",\n        \"\\\"string (\\\\\\\"fals\\\\\\\") cannot be parsed as a boolean\\\"\",\n        \"\\\"string (\\\\\\\"falsee\\\\\\\") cannot be parsed as a boolean\\\"\",\n        \"\\\"array ([]) cannot be parsed as a boolean\\\"\",\n        \"\\\"object ({}) cannot be parsed as a boolean\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function toboolean\\\"\",\n        \"\\\"unknown function toboolean\\\"\",\n        \"\\\"unknown function toboolean\\\"\",\n        \"\\\"unknown function toboolean\\\"\",\n        \"\\\"unknown function toboolean\\\"\",\n        \"\\\"unknown function toboolean\\\"\",\n        \"\\\"unknown function toboolean\\\"\",\n        \"\\\"unknown function toboolean\\\"\"\n      ]\n    },\n    {\n      \"line\": 720,\n      \"program\": \"\\\"true\\\\u0000x\\\", \\\"false\\\\u0000\\\" | try toboolean catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"string (\\\\\\\"true\\\\\\\\u0000x\\\\\\\") cannot be parsed as a boolean\\\"\",\n        \"\\\"string (\\\\\\\"false\\\\\\\\u0000\\\\\\\") cannot be parsed as a boolean\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function toboolean\\\"\",\n        \"\\\"unknown function toboolean\\\"\"\n      ]\n    },\n    {\n      \"line\": 725,\n      \"program\": \"[{\\\"a\\\":42},.object,10,.num,false,true,null,\\\"b\\\",[1,4]] | .[] as $x | [$x == .[]]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[true,  true,  false, false, false, false, false, false, false]\",\n        \"[true,  true,  false, false, false, false, false, false, false]\",\n        \"[false, false, true,  true,  false, false, false, false, false]\",\n        \"[false, false, true,  true,  false, false, false, false, false]\",\n        \"[false, false, false, false, true,  false, false, false, false]\",\n        \"[false, false, false, false, false, true,  false, false, false]\",\n        \"[false, false, false, false, false, false, true,  false, false]\",\n        \"[false, false, false, false, false, false, false, true,  false]\",\n        \"[false, false, false, false, false, false, false, false, true ]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 745,\n      \"program\": \"[.[] | try utf8bytelength catch .]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"array ([]) only strings have UTF-8 byte length\\\",\\\"object ({}) only strings have UTF-8 byte length\\\",\\\"array ([1,2]) only strings have UTF-8 byte length\\\",\\\"number (55) only strings have UTF-8 byte length\\\",\\\"boolean (true) only strings have UTF-8 byte length\\\",\\\"boolean (false) only strings have UTF-8 byte length\\\"]\"\n      ],\n      \"actual\": [\n        \"[\\\"unknown function utf8bytelength\\\",\\\"unknown function utf8bytelength\\\",\\\"unknown function utf8bytelength\\\",\\\"unknown function utf8bytelength\\\",\\\"unknown function utf8bytelength\\\",\\\"unknown function utf8bytelength\\\"]\"\n      ]\n    },\n    {\n      \"line\": 766,\n      \"program\": \"[add(null), add(range(range(10))), add(empty), add(10,range(10))]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[null,120,null,55]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 771,\n      \"program\": \".sum = add(.arr[])\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"{\\\"arr\\\":[],\\\"sum\\\":null}\"\n      ],\n      \"actual\": [\n        \"{\\\"arr\\\":[],\\\"sum\\\":\\\"arr\\\"}\"\n      ]\n    },\n    {\n      \"line\": 775,\n      \"program\": \"add({(.[]):1}) | keys\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"a\\\",\\\"b\\\",\\\"d\\\"]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 798,\n      \"program\": \"def f: 1; def g: f, def f: 2; def g: 3; f, def f: g; f, g; def f: 4; [f, def f: g; def g: 5; f, g]+[f,g]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[4,1,2,3,3,5,4,1,2,3,3]\"\n      ],\n      \"actual\": [\n        \"[4,5,5,4,4,2,3,3]\"\n      ]\n    },\n    {\n      \"line\": 868,\n      \"program\": \"def f: .+1; def g: f; def f: .+100; def f(a):a+.+11; [(g|f(20)), f]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[33,101]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 873,\n      \"program\": \"def id(x):x; 2000 as $x | def f(x):1 as $x | id([$x, x, x]); def g(x): 100 as $x | f($x,$x+x); g($x)\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,100,2100.0,100,2100.0]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 878,\n      \"program\": \"def x(a;b): a as $a | b as $b | $a + $b; def y($a;$b): $a + $b; def check(a;b): [x(a;b)] == [y(a;b)]; check(.[];.[]*2)\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 884,\n      \"program\": \"[[20,10][1,0] as $x | def f: (100,200) as $y | def g: [$x + $y, .]; . + $x | g; f[0] | [f][0][1] | f]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[[110.0, 130.0], [210.0, 130.0], [110.0, 230.0], [210.0, 230.0], [120.0, 160.0], [220.0, 160.0], [120.0, 260.0], [220.0, 260.0]]\"\n      ],\n      \"actual\": [\n        \"[[110,130],[210,130],[110,230],[210,230]]\"\n      ]\n    },\n    {\n      \"line\": 933,\n      \"program\": \". as {$a, $b:[$c, $d]}| [$a, $b, $c, $d]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,[2,{\\\"d\\\":3}],2,{\\\"d\\\":3}]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 938,\n      \"program\": \".[] | . as {$a, b: [$c, {$d}]} ?// [$a, {$b}, $e] ?// $f | [$a, $b, $c, $d, $e, $f]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1, null, 2, 3, null, null]\",\n        \"[4, 5, null, null, 7, null]\",\n        \"[null, null, null, null, null, \\\"foo\\\"]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1045,\n      \"program\": \". as $dot|any($dot[];not)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1049,\n      \"program\": \". as $dot|any($dot[];not)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"false\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1053,\n      \"program\": \". as $dot|all($dot[];.)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"false\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1057,\n      \"program\": \". as $dot|all($dot[];.)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1062,\n      \"program\": \"any(true, error; .)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1066,\n      \"program\": \"all(false, error; .)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"false\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1086,\n      \"program\": \"[any,all]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[false,true]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1090,\n      \"program\": \"[any,all]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[true,true]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1094,\n      \"program\": \"[any,all]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[false,false]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1098,\n      \"program\": \"[any,all]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[true,false]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1102,\n      \"program\": \"[any,all]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[true,false]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1110,\n      \"program\": \"path(.foo[0,1])\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"foo\\\", 0]\",\n        \"[\\\"foo\\\", 1]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1115,\n      \"program\": \"path(.[] | select(.>3))\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1119,\n      \"program\": \"path(.)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1123,\n      \"program\": \"try path(.a | map(select(.b == 0))) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Invalid path expression with result [{\\\\\\\"b\\\\\\\":0}]\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function path\\\"\"\n      ]\n    },\n    {\n      \"line\": 1127,\n      \"program\": \"try path(.a | map(select(.b == 0)) | .[0]) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Invalid path expression near attempt to access element 0 of [{\\\\\\\"b\\\\\\\":0}]\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function path\\\"\"\n      ]\n    },\n    {\n      \"line\": 1131,\n      \"program\": \"try path(.a | map(select(.b == 0)) | .c) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Invalid path expression near attempt to access element \\\\\\\"c\\\\\\\" of [{\\\\\\\"b\\\\\\\":0}]\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function path\\\"\"\n      ]\n    },\n    {\n      \"line\": 1135,\n      \"program\": \"try path(.a | map(select(.b == 0)) | .[]) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Invalid path expression near attempt to iterate through [{\\\\\\\"b\\\\\\\":0}]\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function path\\\"\"\n      ]\n    },\n    {\n      \"line\": 1139,\n      \"program\": \"path(.a[path(.b)[0]])\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"a\\\",\\\"b\\\"]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1143,\n      \"program\": \"[paths]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[[0],[1],[1,0],[1,1],[1,1,\\\"a\\\"]]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1147,\n      \"program\": \"[\\\"foo\\\",1] as $p | getpath($p), setpath($p; 20), delpaths([$p])\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"b\\\"\",\n        \"{\\\"bar\\\": 42, \\\"foo\\\": [\\\"a\\\", 20, \\\"c\\\", \\\"d\\\"]}\",\n        \"{\\\"bar\\\": 42, \\\"foo\\\": [\\\"a\\\", \\\"c\\\", \\\"d\\\"]}\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1153,\n      \"program\": \"map(getpath([2])), map(setpath([2]; 42)), map(delpaths([[2]]))\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[null, null, 2]\",\n        \"[[0,null,42], [0,1,42], [0,1,42]]\",\n        \"[[0], [0,1], [0,1]]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1159,\n      \"program\": \"map(delpaths([[0,\\\"foo\\\"]]))\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[[{\\\"x\\\":1}], [{\\\"bar\\\":2}]]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1163,\n      \"program\": \"[\\\"foo\\\",1] as $p | getpath($p), setpath($p; 20), delpaths([$p])\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"null\",\n        \"{\\\"bar\\\":false, \\\"foo\\\": [null, 20]}\",\n        \"{\\\"bar\\\":false}\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1169,\n      \"program\": \"delpaths([[-200]])\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,2,3]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1173,\n      \"program\": \"try delpaths(0) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Paths must be specified as an array\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function delpaths\\\"\"\n      ]\n    },\n    {\n      \"line\": 1177,\n      \"program\": \"del(.), del(empty), del((.foo,.bar,.baz) | .[2,3,0]), del(.foo[0], .bar[0], .foo, .baz.bar[0].x)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"null\",\n        \"{\\\"foo\\\": [0,1,2,3,4], \\\"bar\\\": [0,1]}\",\n        \"{\\\"foo\\\": [1,4], \\\"bar\\\": [1]}\",\n        \"{\\\"bar\\\": [1]}\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1184,\n      \"program\": \"del(.[1], .[-6], .[2], .[-3:9])\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[0, 3, 5, 6, 9]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1188,\n      \"program\": \"del(.[nan])\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,2,3]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1192,\n      \"program\": \"del(.[nan,nan])\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,2,3]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1197,\n      \"program\": \"setpath([-1]; 1)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1201,\n      \"program\": \"pick(.a.b.c)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"{\\\"a\\\":{\\\"b\\\":{\\\"c\\\":null}}}\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1214,\n      \"program\": \"try pick(last) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Out of bounds negative array index\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function pick\\\"\"\n      ]\n    },\n    {\n      \"line\": 1245,\n      \"program\": \".foo += .foo\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"{\\\"foo\\\":4}\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1253,\n      \"program\": \"def inc(x): x |= .+1; inc(.[].a)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[{\\\"a\\\":2,\\\"b\\\":2},{\\\"a\\\":3,\\\"b\\\":4},{\\\"a\\\":8,\\\"b\\\":8}]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1258,\n      \"program\": \".[] | try (getpath([\\\"a\\\",0,\\\"b\\\"]) |= 5) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"{\\\"a\\\":[{\\\"b\\\":5}]}\",\n        \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\",\n        \"\\\"Cannot index number with number (0)\\\"\",\n        \"{\\\"a\\\":[{\\\"b\\\":5}]}\",\n        \"\\\"Cannot index number with string (\\\\\\\"b\\\\\\\")\\\"\",\n        \"\\\"Cannot index object with number (0)\\\"\",\n        \"{\\\"a\\\":[{\\\"b\\\":5}]}\",\n        \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1270,\n      \"program\": \"(.[] | select(. >= 2)) |= empty\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,0]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1274,\n      \"program\": \".[] |= select(. % 2 == 0)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[0,2,4]\"\n      ],\n      \"actual\": [\n        \"[0,null,2,null,4,null]\"\n      ]\n    },\n    {\n      \"line\": 1278,\n      \"program\": \".foo[1,4,2,3] |= empty\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"{\\\"foo\\\":[0,5]}\"\n      ],\n      \"actual\": [\n        \"{\\\"foo\\\":[0,null,null,null,null,5]}\"\n      ]\n    },\n    {\n      \"line\": 1282,\n      \"program\": \".[2][3] = 1\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[4, null, [null, null, null, 1]]\"\n      ],\n      \"actual\": [\n        \"[4,null,{\\\"3\\\":1}]\"\n      ]\n    },\n    {\n      \"line\": 1290,\n      \"program\": \"try ((map(select(.a == 1))[].b) = 10) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Invalid path expression near attempt to iterate through [{\\\\\\\"a\\\\\\\":1}]\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1294,\n      \"program\": \"try ((map(select(.a == 1))[].a) |= .+1) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Invalid path expression near attempt to iterate through [{\\\\\\\"a\\\\\\\":1}]\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1302,\n      \"program\": \"try (def x: reverse; x=10) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Invalid path expression with result [2,1,0]\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1306,\n      \"program\": \".[] = 1\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,1,1,1,1,1]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1370,\n      \"program\": \"[.[] | [.foo[] // .bar]]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[[1,2], [1], [3], [42], [41]]\"\n      ],\n      \"actual\": [\n        \"[[1,2],[1],[18,18,3],[],[41,41,41]]\"\n      ]\n    },\n    {\n      \"line\": 1374,\n      \"program\": \".[] //= .[0]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"hello\\\",true,\\\"hello\\\",[false],\\\"hello\\\"]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1411,\n      \"program\": \"[{\\\"foo\\\":42} == {\\\"foo\\\":42},{\\\"foo\\\":42} != {\\\"foo\\\":42}, {\\\"foo\\\":42} != {\\\"bar\\\":42}, {\\\"foo\\\":42} == {\\\"bar\\\":42}]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[true,false,true,false]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1416,\n      \"program\": \"[{\\\"foo\\\":[1,2,{\\\"bar\\\":18},\\\"world\\\"]} == {\\\"foo\\\":[1,2,{\\\"bar\\\":18},\\\"world\\\"]},{\\\"foo\\\":[1,2,{\\\"bar\\\":18},\\\"world\\\"]} == {\\\"foo\\\":[1,2,{\\\"bar\\\":19},\\\"world\\\"]}]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[true,false]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1448,\n      \"program\": \"[.[]|try if . == 0 then error(\\\"foo\\\") elif . == 1 then .a elif . == 2 then empty else . end catch .]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"foo\\\",\\\"Cannot index number with string (\\\\\\\"a\\\\\\\")\\\",3]\"\n      ],\n      \"actual\": [\n        \"[\\\"foo\\\",\\\"cannot index value\\\",3]\"\n      ]\n    },\n    {\n      \"line\": 1452,\n      \"program\": \"[.[]|(.a, .a)?]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[null,null,1,1]\"\n      ],\n      \"actual\": [\n        \"[1,1]\"\n      ]\n    },\n    {\n      \"line\": 1464,\n      \"program\": \"try error(0) // 1\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"1\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1473,\n      \"program\": \"1 + try 2 catch 3 + 4\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"7\"\n      ],\n      \"actual\": [\n        \"3\"\n      ]\n    },\n    {\n      \"line\": 1481,\n      \"program\": \"try -.? catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"string (\\\\\\\"foo\\\\\\\") cannot be negated\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1493,\n      \"program\": \".[] | try error catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"1\",\n        \"null\",\n        \"2\"\n      ],\n      \"actual\": [\n        \"\\\"error\\\"\",\n        \"\\\"error\\\"\",\n        \"\\\"error\\\"\"\n      ]\n    },\n    {\n      \"line\": 1499,\n      \"program\": \"try error(\\\"\\\\($__loc__)\\\") catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"{\\\\\\\"file\\\\\\\":\\\\\\\"<top-level>\\\\\\\",\\\\\\\"line\\\\\\\":1}\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"variable $__loc__ is not defined\\\"\"\n      ]\n    },\n    {\n      \"line\": 1520,\n      \"program\": \"[.[]|ltrimstr(\\\"foo\\\")]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"fo\\\",\\\"\\\",\\\"barfoo\\\",\\\"bar\\\",\\\"afoo\\\"]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1524,\n      \"program\": \"[.[]|rtrimstr(\\\"foo\\\")]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"fo\\\",\\\"\\\",\\\"bar\\\",\\\"foobar\\\",\\\"foob\\\"]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1528,\n      \"program\": \"[.[]|trimstr(\\\"foo\\\")]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"fo\\\",\\\"\\\",\\\"bar\\\",\\\"bar\\\",\\\"b\\\"]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1532,\n      \"program\": \"[.[]|ltrimstr(\\\"\\\")]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"a\\\", \\\"xx\\\", \\\"\\\"]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1536,\n      \"program\": \"[.[]|rtrimstr(\\\"\\\")]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"a\\\", \\\"xx\\\", \\\"\\\"]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1540,\n      \"program\": \"[.[]|trimstr(\\\"\\\")]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"a\\\", \\\"xx\\\", \\\"\\\"]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1544,\n      \"program\": \"[(index(\\\",\\\"), rindex(\\\",\\\")), indices(\\\",\\\")]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,13,[1,4,8,13]]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1548,\n      \"program\": \"[ index(\\\"aba\\\"), rindex(\\\"aba\\\"), indices(\\\"aba\\\") ]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,7,[1,3,5,7]]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1553,\n      \"program\": \"try _strindices(\\\"abc\\\") catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"number (123) cannot be searched, as it is not a string\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function _strindices\\\"\"\n      ]\n    },\n    {\n      \"line\": 1557,\n      \"program\": \"try _strindices(123) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"number (123) is not a string\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function _strindices\\\"\"\n      ]\n    },\n    {\n      \"line\": 1575,\n      \"program\": \"try trim catch ., try ltrim catch ., try rtrim catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"trim input must be a string\\\"\",\n        \"\\\"trim input must be a string\\\"\",\n        \"\\\"trim input must be a string\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function trim\\\"\",\n        \"\\\"unknown function ltrim\\\"\",\n        \"\\\"unknown function rtrim\\\"\"\n      ]\n    },\n    {\n      \"line\": 1585,\n      \"program\": \"indices([1,2])\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,8]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1589,\n      \"program\": \"indices([1,2])\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1601,\n      \"program\": \".[:rindex(\\\"x\\\")]\",\n      \"status\": \"fail\",\n      \"detail\": \"program did not compile: jq: compile error: expected ]\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"\\u6b63\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1625,\n      \"program\": \"[.[] * \\\"abc\\\"]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[null,null,\\\"\\\",\\\"\\\",\\\"abc\\\",\\\"abc\\\",\\\"abcabcabc\\\",\\\"abcabcabcabcabcabcabcabcabcabc\\\"]\"\n      ],\n      \"actual\": [\n        \"[\\\"\\\",\\\"\\\",\\\"\\\",\\\"\\\",\\\"abc\\\",\\\"abc\\\",\\\"abcabcabc\\\",\\\"abcabcabcabcabcabcabcabcabcabc\\\"]\"\n      ]\n    },\n    {\n      \"line\": 1629,\n      \"program\": \"[. * (nan,-nan)]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[null,null]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1633,\n      \"program\": \". * 100000 | [.[:10],.[-10:]]\",\n      \"status\": \"fail\",\n      \"detail\": \"program did not compile: jq: compile error: expected ]\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"abcabcabca\\\",\\\"cabcabcabc\\\"]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1677,\n      \"program\": \"(sort_by(.b) | sort_by(.a)), sort_by(.a, .b), sort_by(.b, .c), group_by(.b), group_by(.a + .b - .c == 2)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[{\\\"a\\\": 0, \\\"b\\\": 2, \\\"c\\\": 43}, {\\\"a\\\": 1, \\\"b\\\": 4, \\\"c\\\": 14}, {\\\"a\\\": 1, \\\"b\\\": 4, \\\"c\\\": 3}, {\\\"a\\\": 4, \\\"b\\\": 1, \\\"c\\\": 3}]\",\n        \"[{\\\"a\\\": 0, \\\"b\\\": 2, \\\"c\\\": 43}, {\\\"a\\\": 1, \\\"b\\\": 4, \\\"c\\\": 14}, {\\\"a\\\": 1, \\\"b\\\": 4, \\\"c\\\": 3}, {\\\"a\\\": 4, \\\"b\\\": 1, \\\"c\\\": 3}]\",\n        \"[{\\\"a\\\": 4, \\\"b\\\": 1, \\\"c\\\": 3}, {\\\"a\\\": 0, \\\"b\\\": 2, \\\"c\\\": 43}, {\\\"a\\\": 1, \\\"b\\\": 4, \\\"c\\\": 3}, {\\\"a\\\": 1, \\\"b\\\": 4, \\\"c\\\": 14}]\",\n        \"[[{\\\"a\\\": 4, \\\"b\\\": 1, \\\"c\\\": 3}], [{\\\"a\\\": 0, \\\"b\\\": 2, \\\"c\\\": 43}], [{\\\"a\\\": 1, \\\"b\\\": 4, \\\"c\\\": 14}, {\\\"a\\\": 1, \\\"b\\\": 4, \\\"c\\\": 3}]]\",\n        \"[[{\\\"a\\\": 1, \\\"b\\\": 4, \\\"c\\\": 14}, {\\\"a\\\": 0, \\\"b\\\": 2, \\\"c\\\": 43}], [{\\\"a\\\": 4, \\\"b\\\": 1, \\\"c\\\": 3}, {\\\"a\\\": 1, \\\"b\\\": 4, \\\"c\\\": 3}]]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1693,\n      \"program\": \"[min, max, min_by(.[1]), max_by(.[1]), min_by(.[2]), max_by(.[2])]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[[1,3,\\\"a\\\"],[4,2,\\\"a\\\"],[3,1,\\\"a\\\"],[2,4,\\\"a\\\"],[4,2,\\\"a\\\"],[1,3,\\\"a\\\"]]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1697,\n      \"program\": \"[min,max,min_by(.),max_by(.)]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[null,null,null,null]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1701,\n      \"program\": \".foo[.baz]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"4\"\n      ],\n      \"actual\": [\n        \"null\"\n      ]\n    },\n    {\n      \"line\": 1721,\n      \"program\": \"with_entries(.key |= \\\"KEY_\\\" + .)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"{\\\"KEY_a\\\": 1, \\\"KEY_b\\\": 2}\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1741,\n      \"program\": \"[][.]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"null\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1745,\n      \"program\": \"map([1,2][0:.])\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[[1], [1], [1,2], [1,2], [1,2]]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1835,\n      \"program\": \"bsearch({x:1})\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"1\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1839,\n      \"program\": \"try [\\\"OK\\\", bsearch(0)] catch [\\\"KO\\\",.]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"KO\\\",\\\"string (\\\\\\\"aa\\\\\\\") cannot be searched from\\\"]\"\n      ],\n      \"actual\": [\n        \"[\\\"KO\\\",\\\"unknown function bsearch\\\"]\"\n      ]\n    },\n    {\n      \"line\": 1843,\n      \"program\": \"strftime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"2015-03-05T23:51:47Z\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1847,\n      \"program\": \"strftime(\\\"%A, %B %d, %Y\\\")\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Tuesday, June 30, 2015\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1851,\n      \"program\": \"strftime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"2024-03-15T00:00:00Z\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1863,\n      \"program\": \"gmtime[5]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"47.25\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1868,\n      \"program\": \"try strftime(\\\"%Y-%m-%dT%H:%M:%SZ\\\") catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"strftime/1 requires parsed datetime inputs\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function strftime\\\"\"\n      ]\n    },\n    {\n      \"line\": 1872,\n      \"program\": \"try strflocaltime(\\\"%Y-%m-%dT%H:%M:%SZ\\\") catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"strflocaltime/1 requires parsed datetime inputs\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function strflocaltime\\\"\"\n      ]\n    },\n    {\n      \"line\": 1876,\n      \"program\": \"try mktime catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"mktime requires parsed datetime inputs\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function mktime\\\"\"\n      ]\n    },\n    {\n      \"line\": 1881,\n      \"program\": \"try [\\\"OK\\\", strftime([])] catch [\\\"KO\\\", .]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"KO\\\",\\\"strftime/1 requires a string format\\\"]\"\n      ],\n      \"actual\": [\n        \"[\\\"KO\\\",\\\"unknown function strftime\\\"]\"\n      ]\n    },\n    {\n      \"line\": 1885,\n      \"program\": \"try [\\\"OK\\\", strflocaltime({})] catch [\\\"KO\\\", .]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"KO\\\",\\\"strflocaltime/1 requires a string format\\\"]\"\n      ],\n      \"actual\": [\n        \"[\\\"KO\\\",\\\"unknown function strflocaltime\\\"]\"\n      ]\n    },\n    {\n      \"line\": 1889,\n      \"program\": \"[strptime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")|(.,mktime)]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[[2015,2,5,23,51,47,4,63],1425599507]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1895,\n      \"program\": \"last(range(365 * 67)|(\\\"1970-03-01T01:02:03Z\\\"|strptime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")|mktime) + (86400 * .)|strftime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")|strptime(\\\"%Y-%m-%dT%H:%M:%SZ\\\"))\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[2037,1,11,1,2,3,3,41]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1900,\n      \"program\": \"import \\\"a\\\" as foo; import \\\"b\\\" as bar; def fooa: foo::a; [fooa, bar::a, bar::b, foo::a]\",\n      \"status\": \"skip\",\n      \"detail\": \"declared in exclusions.txt\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"a\\\"]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1904,\n      \"program\": \"import \\\"c\\\" as foo; [foo::a, foo::c]\",\n      \"status\": \"skip\",\n      \"detail\": \"declared in exclusions.txt\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[0,\\\"acmehbah\\\"]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1908,\n      \"program\": \"include \\\"c\\\"; [a, c]\",\n      \"status\": \"skip\",\n      \"detail\": \"declared in exclusions.txt\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[0,\\\"acmehbah\\\"]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1912,\n      \"program\": \"import \\\"data\\\" as $e; import \\\"data\\\" as $d; [$d[].this,$e[].that,$d::d[].this,$e::e[].that]|join(\\\";\\\")\",\n      \"status\": \"skip\",\n      \"detail\": \"declared in exclusions.txt\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"is a test;is too;is a test;is too\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1917,\n      \"program\": \"import \\\"data\\\" as $a; import \\\"data\\\" as $b; def f: {$a, $b}; f\",\n      \"status\": \"skip\",\n      \"detail\": \"declared in exclusions.txt\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"{\\\"a\\\":[{\\\"this\\\":\\\"is a test\\\",\\\"that\\\":\\\"is too\\\"}],\\\"b\\\":[{\\\"this\\\":\\\"is a test\\\",\\\"that\\\":\\\"is too\\\"}]}\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1929,\n      \"program\": \"import \\\"shadow1\\\" as f; import \\\"shadow2\\\" as f; import \\\"shadow1\\\" as e; [e::e, f::e]\",\n      \"status\": \"skip\",\n      \"detail\": \"declared in exclusions.txt\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[2,3]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1973,\n      \"program\": \"modulemeta | .deps | length\",\n      \"status\": \"skip\",\n      \"detail\": \"declared in exclusions.txt\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"6\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1977,\n      \"program\": \"modulemeta | .defs | length\",\n      \"status\": \"skip\",\n      \"detail\": \"declared in exclusions.txt\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"2\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1982,\n      \"program\": \"import \\\"syntaxerror\\\" as e; .\",\n      \"status\": \"skip\",\n      \"detail\": \"declared in exclusions.txt\",\n      \"expect_failure\": true,\n      \"expected\": [],\n      \"actual\": []\n    },\n    {\n      \"line\": 1997,\n      \"program\": \"try -. catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"string (\\\\\\\"very-long-long-long-long...\\\\\\\") cannot be negated\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2001,\n      \"program\": \"try (.-.) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"string (\\\\\\\"very-long-long-long-long...\\\\\\\") and string (\\\\\\\"very-long-long-long-long...\\\\\\\") cannot be subtracted\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2005,\n      \"program\": \"\\\"x\\\" * range(0; 12; 2) + \\\"\\u2606\\\" * 8 | try -. catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"string (\\\\\\\"\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\\\\\\") cannot be negated\\\"\",\n        \"\\\"string (\\\\\\\"xx\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\\\\\\") cannot be negated\\\"\",\n        \"\\\"string (\\\\\\\"xxxx\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\",\n        \"\\\"string (\\\\\\\"xxxxxx\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\",\n        \"\\\"string (\\\\\\\"xxxxxxxx\\u2606\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\",\n        \"\\\"string (\\\\\\\"xxxxxxxxxx\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2014,\n      \"program\": \"try (. + \\\"x\\\") catch . == if have_decnum then \\\"number (12345678901234567890123456...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" else \\\"number (12345678901234568000000000...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" end\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2034,\n      \"program\": \"try join(\\\",\\\") catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"string (\\\\\\\"1,2,\\\\\\\") and object ({\\\\\\\"a\\\\\\\":{\\\\\\\"b\\\\\\\":{\\\\\\\"c\\\\\\\":33}}}) cannot be added\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"1,2,{\\\\\\\"a\\\\\\\":{\\\\\\\"b\\\\\\\":{\\\\\\\"c\\\\\\\":33}}}\\\"\"\n      ]\n    },\n    {\n      \"line\": 2038,\n      \"program\": \"try join(\\\",\\\") catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"string (\\\\\\\"1,2,\\\\\\\") and array ([3,4,5]) cannot be added\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"1,2,[3,4,5]\\\"\"\n      ]\n    },\n    {\n      \"line\": 2067,\n      \"program\": \"[range(-52;52;1)] as $powers | [$powers[]|pow(2;.)|log2|round] == $powers\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2075,\n      \"program\": \"{\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1; a rejected program must exit 3\",\n      \"expect_failure\": true,\n      \"expected\": [],\n      \"actual\": []\n    },\n    {\n      \"line\": 2086,\n      \"program\": \"(.[{}] = 0)?\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [],\n      \"actual\": [\n        \"{\\\"{}\\\":0}\"\n      ]\n    },\n    {\n      \"line\": 2089,\n      \"program\": \"INDEX(range(5)|[., \\\"foo\\\\(.)\\\"]; .[0])\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"{\\\"0\\\":[0,\\\"foo0\\\"],\\\"1\\\":[1,\\\"foo1\\\"],\\\"2\\\":[2,\\\"foo2\\\"],\\\"3\\\":[3,\\\"foo3\\\"],\\\"4\\\":[4,\\\"foo4\\\"]}\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2093,\n      \"program\": \"JOIN({\\\"0\\\":[0,\\\"abc\\\"],\\\"1\\\":[1,\\\"bcd\\\"],\\\"2\\\":[2,\\\"def\\\"],\\\"3\\\":[3,\\\"efg\\\"],\\\"4\\\":[4,\\\"fgh\\\"]}; .[0]|tostring)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[[[5,\\\"foo\\\"],null],[[3,\\\"bar\\\"],[3,\\\"efg\\\"]],[[1,\\\"foobar\\\"],[1,\\\"bcd\\\"]]]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2130,\n      \"program\": \"(.a as $x | .b) = \\\"b\\\"\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"{\\\"a\\\":null,\\\"b\\\":\\\"b\\\"}\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2135,\n      \"program\": \"(.. | select(type == \\\"object\\\" and has(\\\"b\\\") and (.b | type) == \\\"array\\\")|.b) |= .[0]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"{\\\"a\\\": {\\\"b\\\": 1}}\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2161,\n      \"program\": \"\\\"-1\\\"|IN(builtins[] / \\\"/\\\"|.[1])\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"false\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2165,\n      \"program\": \"all(builtins[] / \\\"/\\\"; .[1]|tonumber >= 0)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2169,\n      \"program\": \"builtins|any(.[:1] == \\\"_\\\")\",\n      \"status\": \"fail\",\n      \"detail\": \"program did not compile: jq: compile error: expected ]\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"false\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2196,\n      \"program\": \".[0] | tostring | . == if have_decnum then \\\"13911860366432393\\\" else \\\"13911860366432392\\\" end\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2200,\n      \"program\": \".x | tojson | . == if have_decnum then \\\"13911860366432393\\\" else \\\"13911860366432392\\\" end\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2204,\n      \"program\": \"(13911860366432393 == 13911860366432392) | . == if have_decnum then false else true end\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2211,\n      \"program\": \". - 10\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"13911860366432382\"\n      ],\n      \"actual\": [\n        \"13911860366432383\"\n      ]\n    },\n    {\n      \"line\": 2215,\n      \"program\": \".[0] - 10\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"13911860366432382\"\n      ],\n      \"actual\": [\n        \"13911860366432383\"\n      ]\n    },\n    {\n      \"line\": 2219,\n      \"program\": \".x - 10\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"13911860366432382\"\n      ],\n      \"actual\": [\n        \"13911860366432383\"\n      ]\n    },\n    {\n      \"line\": 2224,\n      \"program\": \"-. | tojson == if have_decnum then \\\"-13911860366432393\\\" else \\\"-13911860366432392\\\" end\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2228,\n      \"program\": \"-. | tojson == if have_decnum then \\\"0.12345678901234567890123456789\\\" else \\\"0.12345678901234568\\\" end\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2232,\n      \"program\": \"[1E+1000,-1E+1000 | tojson] == if have_decnum then [\\\"1E+1000\\\",\\\"-1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\",\\\"-1.7976931348623157e+308\\\"] end\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2241,\n      \"program\": \".[] as $n | $n+0 | [., tostring, . == $n]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[-9007199254740992,\\\"-9007199254740992\\\",true]\",\n        \"[-9007199254740992,\\\"-9007199254740992\\\",true]\",\n        \"[9007199254740992,\\\"9007199254740992\\\",true]\",\n        \"[9007199254740992,\\\"9007199254740992\\\",true]\",\n        \"[13911860366432392,\\\"13911860366432392\\\",true]\"\n      ],\n      \"actual\": [\n        \"[-9007199254740993,\\\"-9007199254740993\\\",true]\",\n        \"[-9007199254740992,\\\"-9007199254740992\\\",true]\",\n        \"[9007199254740992,\\\"9007199254740992\\\",true]\",\n        \"[9007199254740993,\\\"9007199254740993\\\",true]\",\n        \"[13911860366432393,\\\"13911860366432393\\\",true]\"\n      ]\n    },\n    {\n      \"line\": 2271,\n      \"program\": \"[1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2275,\n      \"program\": \"[1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2293,\n      \"program\": \"1 as $foreach | 2 as $and | 3 as $or | { $foreach, $and, $or, a }\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"{\\\"foreach\\\":1,\\\"and\\\":2,\\\"or\\\":3,\\\"a\\\":4}\"\n      ],\n      \"actual\": [\n        \"{\\\"1\\\":1,\\\"2\\\":2,\\\"3\\\":3,\\\"a\\\":4}\"\n      ]\n    },\n    {\n      \"line\": 2304,\n      \"program\": \"{ a, $__loc__, c }\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"{\\\"a\\\":[1,2,3],\\\"__loc__\\\":{\\\"file\\\":\\\"<top-level>\\\",\\\"line\\\":1},\\\"c\\\":{\\\"hi\\\":\\\"hey\\\"}}\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2308,\n      \"program\": \"1 as $x | \\\"2\\\" as $y | \\\"3\\\" as $z | { $x, as, $y: 4, ($z): 5, if: 6, foo: 7 }\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"{\\\"x\\\":1,\\\"as\\\":8,\\\"2\\\":4,\\\"3\\\":5,\\\"if\\\":6,\\\"foo\\\":7}\"\n      ],\n      \"actual\": [\n        \"{\\\"1\\\":1,\\\"as\\\":8,\\\"2\\\":4,\\\"3\\\":5,\\\"if\\\":6,\\\"foo\\\":7}\"\n      ]\n    },\n    {\n      \"line\": 2324,\n      \"program\": \".[] | try (fromjson | isnan) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\",\n        \"true\",\n        \"\\\"Invalid numeric literal at EOF at line 1, column 4 (while parsing 'NaN1')\\\"\",\n        \"\\\"Invalid numeric literal at EOF at line 1, column 5 (while parsing 'NaN10')\\\"\",\n        \"\\\"Invalid numeric literal at EOF at line 1, column 6 (while parsing 'NaN100')\\\"\",\n        \"\\\"Invalid numeric literal at EOF at line 1, column 7 (while parsing 'NaN1000')\\\"\",\n        \"\\\"Invalid numeric literal at EOF at line 1, column 8 (while parsing 'NaN10000')\\\"\",\n        \"\\\"Invalid numeric literal at EOF at line 1, column 9 (while parsing 'NaN100000')\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function isnan\\\"\",\n        \"\\\"invalid JSON\\\"\",\n        \"\\\"invalid JSON\\\"\",\n        \"\\\"invalid JSON\\\"\",\n        \"\\\"invalid JSON\\\"\",\n        \"\\\"invalid JSON\\\"\",\n        \"\\\"invalid JSON\\\"\",\n        \"\\\"invalid JSON\\\"\"\n      ]\n    },\n    {\n      \"line\": 2337,\n      \"program\": \"try input catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"break\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function input\\\"\"\n      ]\n    },\n    {\n      \"line\": 2354,\n      \"program\": \"try ([\\\"hi\\\",\\\"ho\\\"]|.[]|(try . catch (if .==\\\"ho\\\" then \\\"BROKEN\\\"|error else empty end)) | if .==\\\"ho\\\" then error else \\\"\\\\(.) there!\\\" end) catch \\\"caught outside \\\\(.)\\\"\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"hi there!\\\"\",\n        \"\\\"caught outside ho\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"hi there!\\\"\",\n        \"\\\"caught outside error\\\"\"\n      ]\n    },\n    {\n      \"line\": 2363,\n      \"program\": \"try (try error catch \\\"inner catch \\\\(.)\\\") catch \\\"outer catch \\\\(.)\\\"\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"inner catch foo\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"inner catch error\\\"\"\n      ]\n    },\n    {\n      \"line\": 2367,\n      \"program\": \"try ((try error catch \\\"inner catch \\\\(.)\\\")|error) catch \\\"outer catch \\\\(.)\\\"\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"outer catch inner catch foo\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"outer catch error\\\"\"\n      ]\n    },\n    {\n      \"line\": 2390,\n      \"program\": \".[] |= try tonumber\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1, 3, 6.7, 0.89, -876, 5.43, 21]\"\n      ],\n      \"actual\": [\n        \"[1,null,3,4,5,6.7,null,-876,null,21]\"\n      ]\n    },\n    {\n      \"line\": 2395,\n      \"program\": \"any(keys[]|tostring?;true)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2407,\n      \"program\": \"map(try implode catch .)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"implode input must be an array\\\",\\\"string (\\\\\\\"a\\\\\\\") can't be imploded, unicode codepoint needs to be numeric\\\",\\\"number (null) can't be imploded, unicode codepoint needs to be numeric\\\"]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2411,\n      \"program\": \"try 0[implode] catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Cannot index number with string (\\\\\\\"\\\\\\\")\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function implode\\\"\"\n      ]\n    },\n    {\n      \"line\": 2416,\n      \"program\": \"walk(.)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"{\\\"x\\\":0}\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2425,\n      \"program\": \"[walk(.,1)]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[{\\\"x\\\":0},1]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2430,\n      \"program\": \"walk(select(IN({}, []) | not))\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"{\\\"a\\\":1}\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2435,\n      \"program\": \"[range(10)] | .[1.2:3.5]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,2,3]\"\n      ],\n      \"actual\": [\n        \"[1,2]\"\n      ]\n    },\n    {\n      \"line\": 2439,\n      \"program\": \"[range(10)] | .[1.5:3.5]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,2,3]\"\n      ],\n      \"actual\": [\n        \"[1,2]\"\n      ]\n    },\n    {\n      \"line\": 2443,\n      \"program\": \"[range(10)] | .[1.7:3.5]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,2,3]\"\n      ],\n      \"actual\": [\n        \"[1,2]\"\n      ]\n    },\n    {\n      \"line\": 2455,\n      \"program\": \"[[range(10)] | .[1.1,1.5,1.7]]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,1,1]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2463,\n      \"program\": \"[range(3)] | .[nan:1]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[0]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2467,\n      \"program\": \"[range(3)] | .[1:nan]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,2]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2471,\n      \"program\": \"[range(3)] | .[nan]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"null\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2475,\n      \"program\": \"try ([range(3)] | .[nan] = 9) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Cannot set array element at NaN index\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2479,\n      \"program\": \"try (\\\"foobar\\\" | .[1.5:3.5] = \\\"xyz\\\") catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Cannot update string slices\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2483,\n      \"program\": \"try ([range(10)] | .[1.5:3.5] = [\\\"xyz\\\"]) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[0,\\\"xyz\\\",4,5,6,7,8,9]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2487,\n      \"program\": \"try (\\\"foobar\\\" | .[1.5]) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Cannot index string with number (1.5)\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"cannot index string with number\\\"\"\n      ]\n    },\n    {\n      \"line\": 2494,\n      \"program\": \"try [\\\"ok\\\", setpath([1]; 1)] catch [\\\"ko\\\", .]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"ko\\\",\\\"Cannot index object with number (1)\\\"]\"\n      ],\n      \"actual\": [\n        \"[\\\"ko\\\",\\\"unknown function setpath\\\"]\"\n      ]\n    },\n    {\n      \"line\": 2498,\n      \"program\": \"try fromjson catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Invalid string literal; expected \\\\\\\", but got ' at line 1, column 5 (while parsing '{'a': 123}')\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"invalid JSON\\\"\"\n      ]\n    },\n    {\n      \"line\": 2516,\n      \"program\": \".[] as [$x, $y] | try [\\\"ok\\\", ($x | ltrimstr($y))] catch [\\\"ko\\\", .]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"ko\\\",\\\"startswith() requires string inputs\\\"]\",\n        \"[\\\"ko\\\",\\\"startswith() requires string inputs\\\"]\",\n        \"[\\\"ok\\\",\\\"\\\"]\",\n        \"[\\\"ko\\\",\\\"startswith() requires string inputs\\\"]\"\n      ],\n      \"actual\": [\n        \"[\\\"ko\\\",\\\"unknown function ltrimstr\\\"]\",\n        \"[\\\"ko\\\",\\\"unknown function ltrimstr\\\"]\",\n        \"[\\\"ko\\\",\\\"unknown function ltrimstr\\\"]\",\n        \"[\\\"ko\\\",\\\"unknown function ltrimstr\\\"]\"\n      ]\n    },\n    {\n      \"line\": 2523,\n      \"program\": \".[] as [$x, $y] | try [\\\"ok\\\", ($x | rtrimstr($y))] catch [\\\"ko\\\", .]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"ko\\\",\\\"endswith() requires string inputs\\\"]\",\n        \"[\\\"ko\\\",\\\"endswith() requires string inputs\\\"]\",\n        \"[\\\"ok\\\",\\\"\\\"]\",\n        \"[\\\"ko\\\",\\\"endswith() requires string inputs\\\"]\"\n      ],\n      \"actual\": [\n        \"[\\\"ko\\\",\\\"unknown function rtrimstr\\\"]\",\n        \"[\\\"ko\\\",\\\"unknown function rtrimstr\\\"]\",\n        \"[\\\"ko\\\",\\\"unknown function rtrimstr\\\"]\",\n        \"[\\\"ko\\\",\\\"unknown function rtrimstr\\\"]\"\n      ]\n    },\n    {\n      \"line\": 2533,\n      \"program\": \"try [\\\"OK\\\", setpath([[1]]; 1)] catch [\\\"KO\\\", .]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"KO\\\",\\\"Cannot update field at array index of array\\\"]\"\n      ],\n      \"actual\": [\n        \"[\\\"KO\\\",\\\"unknown function setpath\\\"]\"\n      ]\n    },\n    {\n      \"line\": 2538,\n      \"program\": \"foreach .[] as $x (0, 1; . + $x)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"1\",\n        \"3\",\n        \"2\",\n        \"4\"\n      ],\n      \"actual\": [\n        \"1\",\n        \"2\",\n        \"3\",\n        \"4\"\n      ]\n    },\n    {\n      \"line\": 2548,\n      \"program\": \"strflocaltime(\\\"\\\" | ., @uri)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"\\\"\",\n        \"\\\"\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2558,\n      \"program\": \"reduce range(9999) as $_ ([];[.]) | tojson | fromjson | flatten\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2563,\n      \"program\": \"reduce range(10000) as $_ ([];[.]) | tojson | try (fromjson) catch . | (contains(\\\"<skipped: too deep>\\\") | not) and contains(\\\"Exceeds depth limit for parsing\\\")\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2568,\n      \"program\": \"reduce range(10001) as $_ ([];[.]) | tojson | contains(\\\"<skipped: too deep>\\\")\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2573,\n      \"program\": \"setpath([range(10000) | 0]; 0) | flatten\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[0]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2577,\n      \"program\": \"try setpath([range(10001) | 0]; 0) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Path too deep\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function setpath\\\"\"\n      ]\n    },\n    {\n      \"line\": 2581,\n      \"program\": \"getpath([range(10000) | 0])\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"null\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2585,\n      \"program\": \"try getpath([range(10001) | 0]) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Path too deep\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function getpath\\\"\"\n      ]\n    },\n    {\n      \"line\": 2589,\n      \"program\": \"delpaths([[range(10000) | 0]])\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"null\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2593,\n      \"program\": \"try delpaths([[range(10001) | 0]]) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Path too deep\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function delpaths\\\"\"\n      ]\n    },\n    {\n      \"line\": 2602,\n      \"program\": \"try (reduce range(10001) as $_ ([]; [.]) as $x | $x | contains($x)) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Containment check too deep\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2607,\n      \"program\": \"reduce range(10000) as $_ ({}; {a: .}) as $x | $x * $x | length\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"1\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2611,\n      \"program\": \"try (reduce range(10001) as $_ ({}; {a: .}) as $x | $x * $x) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Object merge too deep\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2616,\n      \"program\": \"try ((reduce range(10001) as $_ ([]; [.])) as $x | (reduce range(10001) as $_ ([]; [.])) as $y | $x == $y) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Equality check too deep\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2621,\n      \"program\": \"try ((reduce range(10001) as $_ ([]; [.])) as $x | [$x, $x] | sort) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Comparison too deep\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2625,\n      \"program\": \"try ((reduce range(10001) as $_ ([]; [.])) as $x | [$x, $x] | unique) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Comparison too deep\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2629,\n      \"program\": \"try ((reduce range(10001) as $_ ({}; {a: .})) as $x | [$x, $x] | sort) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Comparison too deep\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2633,\n      \"program\": \"try ((reduce range(10001) as $_ ({}; {a: .})) as $x | [$x, $x] | unique) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"exited -15: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Comparison too deep\\\"\"\n      ],\n      \"actual\": []\n    }\n  ]\n}\n\n\nSELECT %%FAIL|if |try |reduce |foreach |def | as |label |module|include rc 1\n{\n  \"candidate\": [\n    \"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq\"\n  ],\n  \"corpus\": \"jq.test\",\n  \"summary\": {\n    \"pass\": 105,\n    \"fail\": 106,\n    \"error\": 0,\n    \"skip\": 13\n  },\n  \"cases\": [\n    {\n      \"line\": 200,\n      \"program\": \"map(try .a[] catch ., try .a.[] catch ., .a[]?, .a.[]?)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,2,1,2,1,2,1,2,\\\"Cannot iterate over number (123)\\\",\\\"Cannot iterate over number (123)\\\"]\"\n      ],\n      \"actual\": [\n        \"[1,2,1,2,1,2,1,2,\\\"cannot iterate over value\\\",\\\"cannot iterate over value\\\"]\"\n      ]\n    },\n    {\n      \"line\": 205,\n      \"program\": \"try [\\\"OK\\\", (.[] | error)] catch [\\\"KO\\\", .]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"KO\\\",[\\\"b\\\"]]\"\n      ],\n      \"actual\": [\n        \"[\\\"KO\\\",\\\"error\\\"]\"\n      ]\n    },\n    {\n      \"line\": 213,\n      \"program\": \"try (.foo[-1] = 0) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Out of bounds negative array index\\\"\"\n      ],\n      \"actual\": [\n        \"{\\\"foo\\\":{\\\"-1\\\":0}}\"\n      ]\n    },\n    {\n      \"line\": 217,\n      \"program\": \"try (.foo[-2] = 0) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Out of bounds negative array index\\\"\"\n      ],\n      \"actual\": [\n        \"{\\\"foo\\\":{\\\"-2\\\":0}}\"\n      ]\n    },\n    {\n      \"line\": 229,\n      \"program\": \"try (.[999999999] = 0) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Array index too large\\\"\"\n      ],\n      \"actual\": [\n        \"{\\\"999999999\\\":0}\"\n      ]\n    },\n    {\n      \"line\": 324,\n      \"program\": \". as $foo | break $foo\",\n      \"status\": \"fail\",\n      \"detail\": \"program was accepted, but the corpus marks it %%FAIL\",\n      \"expect_failure\": true,\n      \"expected\": [],\n      \"actual\": []\n    },\n    {\n      \"line\": 353,\n      \"program\": \"[foreach .[] / .[] as $i (0; . + $i)]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,3,3.5,4.5]\"\n      ],\n      \"actual\": [\n        \"[1.0,1.5,3.5,4.5]\"\n      ]\n    },\n    {\n      \"line\": 405,\n      \"program\": \"[nth(0,5,9,10,15; range(.)), try nth(-1; range(.)) catch .]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[0,5,9,\\\"nth doesn't support negative indices\\\"]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 530,\n      \"program\": \". as {as: $kw, \\\"str\\\": $str, (\\\"e\\\"+\\\"x\\\"+\\\"p\\\"): $exp} | [$kw, $str, $exp]\",\n      \"status\": \"fail\",\n      \"detail\": \"program did not compile: jq: compile error: expected ,\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1, 2, 3]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 560,\n      \"program\": \". as $foo | [$foo, $bar]\",\n      \"status\": \"fail\",\n      \"detail\": \"program was accepted, but the corpus marks it %%FAIL\",\n      \"expect_failure\": true,\n      \"expected\": [],\n      \"actual\": []\n    },\n    {\n      \"line\": 709,\n      \"program\": \".[] | try toboolean catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"null (null) cannot be parsed as a boolean\\\"\",\n        \"\\\"number (0) cannot be parsed as a boolean\\\"\",\n        \"\\\"string (\\\\\\\"tru\\\\\\\") cannot be parsed as a boolean\\\"\",\n        \"\\\"string (\\\\\\\"truee\\\\\\\") cannot be parsed as a boolean\\\"\",\n        \"\\\"string (\\\\\\\"fals\\\\\\\") cannot be parsed as a boolean\\\"\",\n        \"\\\"string (\\\\\\\"falsee\\\\\\\") cannot be parsed as a boolean\\\"\",\n        \"\\\"array ([]) cannot be parsed as a boolean\\\"\",\n        \"\\\"object ({}) cannot be parsed as a boolean\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function toboolean\\\"\",\n        \"\\\"unknown function toboolean\\\"\",\n        \"\\\"unknown function toboolean\\\"\",\n        \"\\\"unknown function toboolean\\\"\",\n        \"\\\"unknown function toboolean\\\"\",\n        \"\\\"unknown function toboolean\\\"\",\n        \"\\\"unknown function toboolean\\\"\",\n        \"\\\"unknown function toboolean\\\"\"\n      ]\n    },\n    {\n      \"line\": 720,\n      \"program\": \"\\\"true\\\\u0000x\\\", \\\"false\\\\u0000\\\" | try toboolean catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"string (\\\\\\\"true\\\\\\\\u0000x\\\\\\\") cannot be parsed as a boolean\\\"\",\n        \"\\\"string (\\\\\\\"false\\\\\\\\u0000\\\\\\\") cannot be parsed as a boolean\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function toboolean\\\"\",\n        \"\\\"unknown function toboolean\\\"\"\n      ]\n    },\n    {\n      \"line\": 725,\n      \"program\": \"[{\\\"a\\\":42},.object,10,.num,false,true,null,\\\"b\\\",[1,4]] | .[] as $x | [$x == .[]]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[true,  true,  false, false, false, false, false, false, false]\",\n        \"[true,  true,  false, false, false, false, false, false, false]\",\n        \"[false, false, true,  true,  false, false, false, false, false]\",\n        \"[false, false, true,  true,  false, false, false, false, false]\",\n        \"[false, false, false, false, true,  false, false, false, false]\",\n        \"[false, false, false, false, false, true,  false, false, false]\",\n        \"[false, false, false, false, false, false, true,  false, false]\",\n        \"[false, false, false, false, false, false, false, true,  false]\",\n        \"[false, false, false, false, false, false, false, false, true ]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 745,\n      \"program\": \"[.[] | try utf8bytelength catch .]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"array ([]) only strings have UTF-8 byte length\\\",\\\"object ({}) only strings have UTF-8 byte length\\\",\\\"array ([1,2]) only strings have UTF-8 byte length\\\",\\\"number (55) only strings have UTF-8 byte length\\\",\\\"boolean (true) only strings have UTF-8 byte length\\\",\\\"boolean (false) only strings have UTF-8 byte length\\\"]\"\n      ],\n      \"actual\": [\n        \"[\\\"unknown function utf8bytelength\\\",\\\"unknown function utf8bytelength\\\",\\\"unknown function utf8bytelength\\\",\\\"unknown function utf8bytelength\\\",\\\"unknown function utf8bytelength\\\",\\\"unknown function utf8bytelength\\\"]\"\n      ]\n    },\n    {\n      \"line\": 798,\n      \"program\": \"def f: 1; def g: f, def f: 2; def g: 3; f, def f: g; f, g; def f: 4; [f, def f: g; def g: 5; f, g]+[f,g]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[4,1,2,3,3,5,4,1,2,3,3]\"\n      ],\n      \"actual\": [\n        \"[4,5,5,4,4,2,3,3]\"\n      ]\n    },\n    {\n      \"line\": 868,\n      \"program\": \"def f: .+1; def g: f; def f: .+100; def f(a):a+.+11; [(g|f(20)), f]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[33,101]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 873,\n      \"program\": \"def id(x):x; 2000 as $x | def f(x):1 as $x | id([$x, x, x]); def g(x): 100 as $x | f($x,$x+x); g($x)\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,100,2100.0,100,2100.0]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 878,\n      \"program\": \"def x(a;b): a as $a | b as $b | $a + $b; def y($a;$b): $a + $b; def check(a;b): [x(a;b)] == [y(a;b)]; check(.[];.[]*2)\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 884,\n      \"program\": \"[[20,10][1,0] as $x | def f: (100,200) as $y | def g: [$x + $y, .]; . + $x | g; f[0] | [f][0][1] | f]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[[110.0, 130.0], [210.0, 130.0], [110.0, 230.0], [210.0, 230.0], [120.0, 160.0], [220.0, 160.0], [120.0, 260.0], [220.0, 260.0]]\"\n      ],\n      \"actual\": [\n        \"[[110,130],[210,130],[110,230],[210,230]]\"\n      ]\n    },\n    {\n      \"line\": 933,\n      \"program\": \". as {$a, $b:[$c, $d]}| [$a, $b, $c, $d]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1,[2,{\\\"d\\\":3}],2,{\\\"d\\\":3}]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 938,\n      \"program\": \".[] | . as {$a, b: [$c, {$d}]} ?// [$a, {$b}, $e] ?// $f | [$a, $b, $c, $d, $e, $f]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1, null, 2, 3, null, null]\",\n        \"[4, 5, null, null, 7, null]\",\n        \"[null, null, null, null, null, \\\"foo\\\"]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1045,\n      \"program\": \". as $dot|any($dot[];not)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1049,\n      \"program\": \". as $dot|any($dot[];not)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"false\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1053,\n      \"program\": \". as $dot|all($dot[];.)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"false\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1057,\n      \"program\": \". as $dot|all($dot[];.)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1123,\n      \"program\": \"try path(.a | map(select(.b == 0))) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Invalid path expression with result [{\\\\\\\"b\\\\\\\":0}]\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function path\\\"\"\n      ]\n    },\n    {\n      \"line\": 1127,\n      \"program\": \"try path(.a | map(select(.b == 0)) | .[0]) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Invalid path expression near attempt to access element 0 of [{\\\\\\\"b\\\\\\\":0}]\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function path\\\"\"\n      ]\n    },\n    {\n      \"line\": 1131,\n      \"program\": \"try path(.a | map(select(.b == 0)) | .c) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Invalid path expression near attempt to access element \\\\\\\"c\\\\\\\" of [{\\\\\\\"b\\\\\\\":0}]\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function path\\\"\"\n      ]\n    },\n    {\n      \"line\": 1135,\n      \"program\": \"try path(.a | map(select(.b == 0)) | .[]) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Invalid path expression near attempt to iterate through [{\\\\\\\"b\\\\\\\":0}]\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function path\\\"\"\n      ]\n    },\n    {\n      \"line\": 1147,\n      \"program\": \"[\\\"foo\\\",1] as $p | getpath($p), setpath($p; 20), delpaths([$p])\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"b\\\"\",\n        \"{\\\"bar\\\": 42, \\\"foo\\\": [\\\"a\\\", 20, \\\"c\\\", \\\"d\\\"]}\",\n        \"{\\\"bar\\\": 42, \\\"foo\\\": [\\\"a\\\", \\\"c\\\", \\\"d\\\"]}\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1163,\n      \"program\": \"[\\\"foo\\\",1] as $p | getpath($p), setpath($p; 20), delpaths([$p])\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"null\",\n        \"{\\\"bar\\\":false, \\\"foo\\\": [null, 20]}\",\n        \"{\\\"bar\\\":false}\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1173,\n      \"program\": \"try delpaths(0) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Paths must be specified as an array\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function delpaths\\\"\"\n      ]\n    },\n    {\n      \"line\": 1214,\n      \"program\": \"try pick(last) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Out of bounds negative array index\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function pick\\\"\"\n      ]\n    },\n    {\n      \"line\": 1253,\n      \"program\": \"def inc(x): x |= .+1; inc(.[].a)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[{\\\"a\\\":2,\\\"b\\\":2},{\\\"a\\\":3,\\\"b\\\":4},{\\\"a\\\":8,\\\"b\\\":8}]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1258,\n      \"program\": \".[] | try (getpath([\\\"a\\\",0,\\\"b\\\"]) |= 5) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"{\\\"a\\\":[{\\\"b\\\":5}]}\",\n        \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\",\n        \"\\\"Cannot index number with number (0)\\\"\",\n        \"{\\\"a\\\":[{\\\"b\\\":5}]}\",\n        \"\\\"Cannot index number with string (\\\\\\\"b\\\\\\\")\\\"\",\n        \"\\\"Cannot index object with number (0)\\\"\",\n        \"{\\\"a\\\":[{\\\"b\\\":5}]}\",\n        \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1290,\n      \"program\": \"try ((map(select(.a == 1))[].b) = 10) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Invalid path expression near attempt to iterate through [{\\\\\\\"a\\\\\\\":1}]\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1294,\n      \"program\": \"try ((map(select(.a == 1))[].a) |= .+1) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Invalid path expression near attempt to iterate through [{\\\\\\\"a\\\\\\\":1}]\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1302,\n      \"program\": \"try (def x: reverse; x=10) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Invalid path expression with result [2,1,0]\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1448,\n      \"program\": \"[.[]|try if . == 0 then error(\\\"foo\\\") elif . == 1 then .a elif . == 2 then empty else . end catch .]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"foo\\\",\\\"Cannot index number with string (\\\\\\\"a\\\\\\\")\\\",3]\"\n      ],\n      \"actual\": [\n        \"[\\\"foo\\\",\\\"cannot index value\\\",3]\"\n      ]\n    },\n    {\n      \"line\": 1464,\n      \"program\": \"try error(0) // 1\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"1\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1473,\n      \"program\": \"1 + try 2 catch 3 + 4\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"7\"\n      ],\n      \"actual\": [\n        \"3\"\n      ]\n    },\n    {\n      \"line\": 1481,\n      \"program\": \"try -.? catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"string (\\\\\\\"foo\\\\\\\") cannot be negated\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1493,\n      \"program\": \".[] | try error catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"1\",\n        \"null\",\n        \"2\"\n      ],\n      \"actual\": [\n        \"\\\"error\\\"\",\n        \"\\\"error\\\"\",\n        \"\\\"error\\\"\"\n      ]\n    },\n    {\n      \"line\": 1499,\n      \"program\": \"try error(\\\"\\\\($__loc__)\\\") catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"{\\\\\\\"file\\\\\\\":\\\\\\\"<top-level>\\\\\\\",\\\\\\\"line\\\\\\\":1}\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"variable $__loc__ is not defined\\\"\"\n      ]\n    },\n    {\n      \"line\": 1553,\n      \"program\": \"try _strindices(\\\"abc\\\") catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"number (123) cannot be searched, as it is not a string\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function _strindices\\\"\"\n      ]\n    },\n    {\n      \"line\": 1557,\n      \"program\": \"try _strindices(123) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"number (123) is not a string\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function _strindices\\\"\"\n      ]\n    },\n    {\n      \"line\": 1575,\n      \"program\": \"try trim catch ., try ltrim catch ., try rtrim catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"trim input must be a string\\\"\",\n        \"\\\"trim input must be a string\\\"\",\n        \"\\\"trim input must be a string\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function trim\\\"\",\n        \"\\\"unknown function ltrim\\\"\",\n        \"\\\"unknown function rtrim\\\"\"\n      ]\n    },\n    {\n      \"line\": 1839,\n      \"program\": \"try [\\\"OK\\\", bsearch(0)] catch [\\\"KO\\\",.]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"KO\\\",\\\"string (\\\\\\\"aa\\\\\\\") cannot be searched from\\\"]\"\n      ],\n      \"actual\": [\n        \"[\\\"KO\\\",\\\"unknown function bsearch\\\"]\"\n      ]\n    },\n    {\n      \"line\": 1868,\n      \"program\": \"try strftime(\\\"%Y-%m-%dT%H:%M:%SZ\\\") catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"strftime/1 requires parsed datetime inputs\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function strftime\\\"\"\n      ]\n    },\n    {\n      \"line\": 1872,\n      \"program\": \"try strflocaltime(\\\"%Y-%m-%dT%H:%M:%SZ\\\") catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"strflocaltime/1 requires parsed datetime inputs\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function strflocaltime\\\"\"\n      ]\n    },\n    {\n      \"line\": 1876,\n      \"program\": \"try mktime catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"mktime requires parsed datetime inputs\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function mktime\\\"\"\n      ]\n    },\n    {\n      \"line\": 1881,\n      \"program\": \"try [\\\"OK\\\", strftime([])] catch [\\\"KO\\\", .]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"KO\\\",\\\"strftime/1 requires a string format\\\"]\"\n      ],\n      \"actual\": [\n        \"[\\\"KO\\\",\\\"unknown function strftime\\\"]\"\n      ]\n    },\n    {\n      \"line\": 1885,\n      \"program\": \"try [\\\"OK\\\", strflocaltime({})] catch [\\\"KO\\\", .]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"KO\\\",\\\"strflocaltime/1 requires a string format\\\"]\"\n      ],\n      \"actual\": [\n        \"[\\\"KO\\\",\\\"unknown function strflocaltime\\\"]\"\n      ]\n    },\n    {\n      \"line\": 1900,\n      \"program\": \"import \\\"a\\\" as foo; import \\\"b\\\" as bar; def fooa: foo::a; [fooa, bar::a, bar::b, foo::a]\",\n      \"status\": \"skip\",\n      \"detail\": \"declared in exclusions.txt\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"a\\\"]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1904,\n      \"program\": \"import \\\"c\\\" as foo; [foo::a, foo::c]\",\n      \"status\": \"skip\",\n      \"detail\": \"declared in exclusions.txt\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[0,\\\"acmehbah\\\"]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1908,\n      \"program\": \"include \\\"c\\\"; [a, c]\",\n      \"status\": \"skip\",\n      \"detail\": \"declared in exclusions.txt\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[0,\\\"acmehbah\\\"]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1912,\n      \"program\": \"import \\\"data\\\" as $e; import \\\"data\\\" as $d; [$d[].this,$e[].that,$d::d[].this,$e::e[].that]|join(\\\";\\\")\",\n      \"status\": \"skip\",\n      \"detail\": \"declared in exclusions.txt\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"is a test;is too;is a test;is too\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1917,\n      \"program\": \"import \\\"data\\\" as $a; import \\\"data\\\" as $b; def f: {$a, $b}; f\",\n      \"status\": \"skip\",\n      \"detail\": \"declared in exclusions.txt\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"{\\\"a\\\":[{\\\"this\\\":\\\"is a test\\\",\\\"that\\\":\\\"is too\\\"}],\\\"b\\\":[{\\\"this\\\":\\\"is a test\\\",\\\"that\\\":\\\"is too\\\"}]}\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1921,\n      \"program\": \"include \\\"shadow1\\\"; e\",\n      \"status\": \"skip\",\n      \"detail\": \"declared in exclusions.txt\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"2\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1925,\n      \"program\": \"include \\\"shadow1\\\"; include \\\"shadow2\\\"; e\",\n      \"status\": \"skip\",\n      \"detail\": \"declared in exclusions.txt\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"3\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1929,\n      \"program\": \"import \\\"shadow1\\\" as f; import \\\"shadow2\\\" as f; import \\\"shadow1\\\" as e; [e::e, f::e]\",\n      \"status\": \"skip\",\n      \"detail\": \"declared in exclusions.txt\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[2,3]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1969,\n      \"program\": \"modulemeta\",\n      \"status\": \"skip\",\n      \"detail\": \"declared in exclusions.txt\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"{\\\"whatever\\\":null,\\\"deps\\\":[{\\\"as\\\":\\\"foo\\\",\\\"is_data\\\":false,\\\"relpath\\\":\\\"a\\\"},{\\\"search\\\":\\\"./\\\",\\\"as\\\":\\\"d\\\",\\\"is_data\\\":false,\\\"relpath\\\":\\\"d\\\"},{\\\"search\\\":\\\"./\\\",\\\"as\\\":\\\"d2\\\",\\\"is_data\\\":false,\\\"relpath\\\":\\\"d\\\"},{\\\"search\\\":\\\"./../lib/jq\\\",\\\"as\\\":\\\"e\\\",\\\"is_data\\\":false,\\\"relpath\\\":\\\"e\\\"},{\\\"search\\\":\\\"./../lib/jq\\\",\\\"as\\\":\\\"f\\\",\\\"is_data\\\":false,\\\"relpath\\\":\\\"f\\\"},{\\\"as\\\":\\\"d\\\",\\\"is_data\\\":true,\\\"relpath\\\":\\\"data\\\"}],\\\"defs\\\":[\\\"a/0\\\",\\\"c/0\\\"]}\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1973,\n      \"program\": \"modulemeta | .deps | length\",\n      \"status\": \"skip\",\n      \"detail\": \"declared in exclusions.txt\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"6\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1977,\n      \"program\": \"modulemeta | .defs | length\",\n      \"status\": \"skip\",\n      \"detail\": \"declared in exclusions.txt\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"2\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1982,\n      \"program\": \"import \\\"syntaxerror\\\" as e; .\",\n      \"status\": \"skip\",\n      \"detail\": \"declared in exclusions.txt\",\n      \"expect_failure\": true,\n      \"expected\": [],\n      \"actual\": []\n    },\n    {\n      \"line\": 1993,\n      \"program\": \"import \\\"test_bind_order\\\" as check; check::check\",\n      \"status\": \"skip\",\n      \"detail\": \"declared in exclusions.txt\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 1997,\n      \"program\": \"try -. catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"string (\\\\\\\"very-long-long-long-long...\\\\\\\") cannot be negated\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2001,\n      \"program\": \"try (.-.) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"string (\\\\\\\"very-long-long-long-long...\\\\\\\") and string (\\\\\\\"very-long-long-long-long...\\\\\\\") cannot be subtracted\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2005,\n      \"program\": \"\\\"x\\\" * range(0; 12; 2) + \\\"\\u2606\\\" * 8 | try -. catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"string (\\\\\\\"\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\\\\\\") cannot be negated\\\"\",\n        \"\\\"string (\\\\\\\"xx\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\\\\\\") cannot be negated\\\"\",\n        \"\\\"string (\\\\\\\"xxxx\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\",\n        \"\\\"string (\\\\\\\"xxxxxx\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\",\n        \"\\\"string (\\\\\\\"xxxxxxxx\\u2606\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\",\n        \"\\\"string (\\\\\\\"xxxxxxxxxx\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2014,\n      \"program\": \"try (. + \\\"x\\\") catch . == if have_decnum then \\\"number (12345678901234567890123456...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" else \\\"number (12345678901234568000000000...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" end\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2034,\n      \"program\": \"try join(\\\",\\\") catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"string (\\\\\\\"1,2,\\\\\\\") and object ({\\\\\\\"a\\\\\\\":{\\\\\\\"b\\\\\\\":{\\\\\\\"c\\\\\\\":33}}}) cannot be added\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"1,2,{\\\\\\\"a\\\\\\\":{\\\\\\\"b\\\\\\\":{\\\\\\\"c\\\\\\\":33}}}\\\"\"\n      ]\n    },\n    {\n      \"line\": 2038,\n      \"program\": \"try join(\\\",\\\") catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"string (\\\\\\\"1,2,\\\\\\\") and array ([3,4,5]) cannot be added\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"1,2,[3,4,5]\\\"\"\n      ]\n    },\n    {\n      \"line\": 2067,\n      \"program\": \"[range(-52;52;1)] as $powers | [$powers[]|pow(2;.)|log2|round] == $powers\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2130,\n      \"program\": \"(.a as $x | .b) = \\\"b\\\"\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"{\\\"a\\\":null,\\\"b\\\":\\\"b\\\"}\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2196,\n      \"program\": \".[0] | tostring | . == if have_decnum then \\\"13911860366432393\\\" else \\\"13911860366432392\\\" end\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2200,\n      \"program\": \".x | tojson | . == if have_decnum then \\\"13911860366432393\\\" else \\\"13911860366432392\\\" end\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2204,\n      \"program\": \"(13911860366432393 == 13911860366432392) | . == if have_decnum then false else true end\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2224,\n      \"program\": \"-. | tojson == if have_decnum then \\\"-13911860366432393\\\" else \\\"-13911860366432392\\\" end\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2228,\n      \"program\": \"-. | tojson == if have_decnum then \\\"0.12345678901234567890123456789\\\" else \\\"0.12345678901234568\\\" end\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2232,\n      \"program\": \"[1E+1000,-1E+1000 | tojson] == if have_decnum then [\\\"1E+1000\\\",\\\"-1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\",\\\"-1.7976931348623157e+308\\\"] end\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2241,\n      \"program\": \".[] as $n | $n+0 | [., tostring, . == $n]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[-9007199254740992,\\\"-9007199254740992\\\",true]\",\n        \"[-9007199254740992,\\\"-9007199254740992\\\",true]\",\n        \"[9007199254740992,\\\"9007199254740992\\\",true]\",\n        \"[9007199254740992,\\\"9007199254740992\\\",true]\",\n        \"[13911860366432392,\\\"13911860366432392\\\",true]\"\n      ],\n      \"actual\": [\n        \"[-9007199254740993,\\\"-9007199254740993\\\",true]\",\n        \"[-9007199254740992,\\\"-9007199254740992\\\",true]\",\n        \"[9007199254740992,\\\"9007199254740992\\\",true]\",\n        \"[9007199254740993,\\\"9007199254740993\\\",true]\",\n        \"[13911860366432393,\\\"13911860366432393\\\",true]\"\n      ]\n    },\n    {\n      \"line\": 2271,\n      \"program\": \"[1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2275,\n      \"program\": \"[1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2293,\n      \"program\": \"1 as $foreach | 2 as $and | 3 as $or | { $foreach, $and, $or, a }\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"{\\\"foreach\\\":1,\\\"and\\\":2,\\\"or\\\":3,\\\"a\\\":4}\"\n      ],\n      \"actual\": [\n        \"{\\\"1\\\":1,\\\"2\\\":2,\\\"3\\\":3,\\\"a\\\":4}\"\n      ]\n    },\n    {\n      \"line\": 2308,\n      \"program\": \"1 as $x | \\\"2\\\" as $y | \\\"3\\\" as $z | { $x, as, $y: 4, ($z): 5, if: 6, foo: 7 }\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"{\\\"x\\\":1,\\\"as\\\":8,\\\"2\\\":4,\\\"3\\\":5,\\\"if\\\":6,\\\"foo\\\":7}\"\n      ],\n      \"actual\": [\n        \"{\\\"1\\\":1,\\\"as\\\":8,\\\"2\\\":4,\\\"3\\\":5,\\\"if\\\":6,\\\"foo\\\":7}\"\n      ]\n    },\n    {\n      \"line\": 2324,\n      \"program\": \".[] | try (fromjson | isnan) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\",\n        \"true\",\n        \"\\\"Invalid numeric literal at EOF at line 1, column 4 (while parsing 'NaN1')\\\"\",\n        \"\\\"Invalid numeric literal at EOF at line 1, column 5 (while parsing 'NaN10')\\\"\",\n        \"\\\"Invalid numeric literal at EOF at line 1, column 6 (while parsing 'NaN100')\\\"\",\n        \"\\\"Invalid numeric literal at EOF at line 1, column 7 (while parsing 'NaN1000')\\\"\",\n        \"\\\"Invalid numeric literal at EOF at line 1, column 8 (while parsing 'NaN10000')\\\"\",\n        \"\\\"Invalid numeric literal at EOF at line 1, column 9 (while parsing 'NaN100000')\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function isnan\\\"\",\n        \"\\\"invalid JSON\\\"\",\n        \"\\\"invalid JSON\\\"\",\n        \"\\\"invalid JSON\\\"\",\n        \"\\\"invalid JSON\\\"\",\n        \"\\\"invalid JSON\\\"\",\n        \"\\\"invalid JSON\\\"\",\n        \"\\\"invalid JSON\\\"\"\n      ]\n    },\n    {\n      \"line\": 2337,\n      \"program\": \"try input catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"break\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function input\\\"\"\n      ]\n    },\n    {\n      \"line\": 2354,\n      \"program\": \"try ([\\\"hi\\\",\\\"ho\\\"]|.[]|(try . catch (if .==\\\"ho\\\" then \\\"BROKEN\\\"|error else empty end)) | if .==\\\"ho\\\" then error else \\\"\\\\(.) there!\\\" end) catch \\\"caught outside \\\\(.)\\\"\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"hi there!\\\"\",\n        \"\\\"caught outside ho\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"hi there!\\\"\",\n        \"\\\"caught outside error\\\"\"\n      ]\n    },\n    {\n      \"line\": 2363,\n      \"program\": \"try (try error catch \\\"inner catch \\\\(.)\\\") catch \\\"outer catch \\\\(.)\\\"\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"inner catch foo\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"inner catch error\\\"\"\n      ]\n    },\n    {\n      \"line\": 2367,\n      \"program\": \"try ((try error catch \\\"inner catch \\\\(.)\\\")|error) catch \\\"outer catch \\\\(.)\\\"\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"outer catch inner catch foo\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"outer catch error\\\"\"\n      ]\n    },\n    {\n      \"line\": 2390,\n      \"program\": \".[] |= try tonumber\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[1, 3, 6.7, 0.89, -876, 5.43, 21]\"\n      ],\n      \"actual\": [\n        \"[1,null,3,4,5,6.7,null,-876,null,21]\"\n      ]\n    },\n    {\n      \"line\": 2407,\n      \"program\": \"map(try implode catch .)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"implode input must be an array\\\",\\\"string (\\\\\\\"a\\\\\\\") can't be imploded, unicode codepoint needs to be numeric\\\",\\\"number (null) can't be imploded, unicode codepoint needs to be numeric\\\"]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2411,\n      \"program\": \"try 0[implode] catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Cannot index number with string (\\\\\\\"\\\\\\\")\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function implode\\\"\"\n      ]\n    },\n    {\n      \"line\": 2475,\n      \"program\": \"try ([range(3)] | .[nan] = 9) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Cannot set array element at NaN index\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2479,\n      \"program\": \"try (\\\"foobar\\\" | .[1.5:3.5] = \\\"xyz\\\") catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Cannot update string slices\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2483,\n      \"program\": \"try ([range(10)] | .[1.5:3.5] = [\\\"xyz\\\"]) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[0,\\\"xyz\\\",4,5,6,7,8,9]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2487,\n      \"program\": \"try (\\\"foobar\\\" | .[1.5]) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Cannot index string with number (1.5)\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"cannot index string with number\\\"\"\n      ]\n    },\n    {\n      \"line\": 2494,\n      \"program\": \"try [\\\"ok\\\", setpath([1]; 1)] catch [\\\"ko\\\", .]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"ko\\\",\\\"Cannot index object with number (1)\\\"]\"\n      ],\n      \"actual\": [\n        \"[\\\"ko\\\",\\\"unknown function setpath\\\"]\"\n      ]\n    },\n    {\n      \"line\": 2498,\n      \"program\": \"try fromjson catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Invalid string literal; expected \\\\\\\", but got ' at line 1, column 5 (while parsing '{'a': 123}')\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"invalid JSON\\\"\"\n      ]\n    },\n    {\n      \"line\": 2504,\n      \"program\": \"try ltrimstr(1) catch \\\"x\\\", try rtrimstr(1) catch \\\"x\\\" | \\\"ok\\\"\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"ok\\\"\",\n        \"\\\"ok\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"x\\\"\",\n        \"\\\"ok\\\"\"\n      ]\n    },\n    {\n      \"line\": 2509,\n      \"program\": \"try ltrimstr(\\\"x\\\") catch \\\"x\\\", try rtrimstr(\\\"x\\\") catch \\\"x\\\" | \\\"ok\\\"\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"ok\\\"\",\n        \"\\\"ok\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"x\\\"\",\n        \"\\\"ok\\\"\"\n      ]\n    },\n    {\n      \"line\": 2516,\n      \"program\": \".[] as [$x, $y] | try [\\\"ok\\\", ($x | ltrimstr($y))] catch [\\\"ko\\\", .]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"ko\\\",\\\"startswith() requires string inputs\\\"]\",\n        \"[\\\"ko\\\",\\\"startswith() requires string inputs\\\"]\",\n        \"[\\\"ok\\\",\\\"\\\"]\",\n        \"[\\\"ko\\\",\\\"startswith() requires string inputs\\\"]\"\n      ],\n      \"actual\": [\n        \"[\\\"ko\\\",\\\"unknown function ltrimstr\\\"]\",\n        \"[\\\"ko\\\",\\\"unknown function ltrimstr\\\"]\",\n        \"[\\\"ko\\\",\\\"unknown function ltrimstr\\\"]\",\n        \"[\\\"ko\\\",\\\"unknown function ltrimstr\\\"]\"\n      ]\n    },\n    {\n      \"line\": 2523,\n      \"program\": \".[] as [$x, $y] | try [\\\"ok\\\", ($x | rtrimstr($y))] catch [\\\"ko\\\", .]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"ko\\\",\\\"endswith() requires string inputs\\\"]\",\n        \"[\\\"ko\\\",\\\"endswith() requires string inputs\\\"]\",\n        \"[\\\"ok\\\",\\\"\\\"]\",\n        \"[\\\"ko\\\",\\\"endswith() requires string inputs\\\"]\"\n      ],\n      \"actual\": [\n        \"[\\\"ko\\\",\\\"unknown function rtrimstr\\\"]\",\n        \"[\\\"ko\\\",\\\"unknown function rtrimstr\\\"]\",\n        \"[\\\"ko\\\",\\\"unknown function rtrimstr\\\"]\",\n        \"[\\\"ko\\\",\\\"unknown function rtrimstr\\\"]\"\n      ]\n    },\n    {\n      \"line\": 2533,\n      \"program\": \"try [\\\"OK\\\", setpath([[1]]; 1)] catch [\\\"KO\\\", .]\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[\\\"KO\\\",\\\"Cannot update field at array index of array\\\"]\"\n      ],\n      \"actual\": [\n        \"[\\\"KO\\\",\\\"unknown function setpath\\\"]\"\n      ]\n    },\n    {\n      \"line\": 2538,\n      \"program\": \"foreach .[] as $x (0, 1; . + $x)\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"1\",\n        \"3\",\n        \"2\",\n        \"4\"\n      ],\n      \"actual\": [\n        \"1\",\n        \"2\",\n        \"3\",\n        \"4\"\n      ]\n    },\n    {\n      \"line\": 2558,\n      \"program\": \"reduce range(9999) as $_ ([];[.]) | tojson | fromjson | flatten\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"[]\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2563,\n      \"program\": \"reduce range(10000) as $_ ([];[.]) | tojson | try (fromjson) catch . | (contains(\\\"<skipped: too deep>\\\") | not) and contains(\\\"Exceeds depth limit for parsing\\\")\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2568,\n      \"program\": \"reduce range(10001) as $_ ([];[.]) | tojson | contains(\\\"<skipped: too deep>\\\")\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"true\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2577,\n      \"program\": \"try setpath([range(10001) | 0]; 0) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Path too deep\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function setpath\\\"\"\n      ]\n    },\n    {\n      \"line\": 2585,\n      \"program\": \"try getpath([range(10001) | 0]) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Path too deep\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function getpath\\\"\"\n      ]\n    },\n    {\n      \"line\": 2593,\n      \"program\": \"try delpaths([[range(10001) | 0]]) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"output mismatch\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Path too deep\\\"\"\n      ],\n      \"actual\": [\n        \"\\\"unknown function delpaths\\\"\"\n      ]\n    },\n    {\n      \"line\": 2602,\n      \"program\": \"try (reduce range(10001) as $_ ([]; [.]) as $x | $x | contains($x)) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Containment check too deep\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2607,\n      \"program\": \"reduce range(10000) as $_ ({}; {a: .}) as $x | $x * $x | length\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"1\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2611,\n      \"program\": \"try (reduce range(10001) as $_ ({}; {a: .}) as $x | $x * $x) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Object merge too deep\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2616,\n      \"program\": \"try ((reduce range(10001) as $_ ([]; [.])) as $x | (reduce range(10001) as $_ ([]; [.])) as $y | $x == $y) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Equality check too deep\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2621,\n      \"program\": \"try ((reduce range(10001) as $_ ([]; [.])) as $x | [$x, $x] | sort) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Comparison too deep\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2625,\n      \"program\": \"try ((reduce range(10001) as $_ ([]; [.])) as $x | [$x, $x] | unique) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Comparison too deep\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2629,\n      \"program\": \"try ((reduce range(10001) as $_ ({}; {a: .})) as $x | [$x, $x] | sort) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Comparison too deep\\\"\"\n      ],\n      \"actual\": []\n    },\n    {\n      \"line\": 2633,\n      \"program\": \"try ((reduce range(10001) as $_ ({}; {a: .})) as $x | [$x, $x] | unique) catch .\",\n      \"status\": \"fail\",\n      \"detail\": \"exited 1: Traceback (most recent call last):\",\n      \"expect_failure\": false,\n      \"expected\": [\n        \"\\\"Comparison too deep\\\"\"\n      ],\n      \"actual\": []\n    }\n  ]\n}\n\n\n","exit_code":0,"status":"completed"}}
{"type":"item.completed","item":{"id":"item_9","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport sys,subprocess,os,re,json\nsys.path.insert(0,'sources'); import run_conformance as h\ncases=h.parse_corpus(h.CORPUS.read_text()); sel=re.compile(r'%%FAIL|if |try |reduce |foreach |def | as |label |module|include')\ndef vals(s):\n try:return [json.loads(x,parse_constant=lambda x:None) for x in s.splitlines() if x]\n except:return None\nn=0\nfor i,c in enumerate(cases):\n if sel.search(c.program) and not any(x in c.program for x in ['10000','10001','65536']):\n  n+=1\n  try:r=subprocess.run([os.getcwd()+'/jq','-c',c.program],input=c.stdin+'\\\\n',text=True,capture_output=True,timeout=2)\n  except subprocess.TimeoutExpired: print(i,'TIMEOUT',c.program[:100]);continue\n  ok=(r.returncode==3)==c.expect_failure if c.expect_failure else (r.returncode==0 and vals(r.stdout)==vals('\\\\n'.join(c.expected)))\n  if not ok: print(i,'rc',r.returncode,'prog=',c.program[:130].replace('\\\\n',' '),'out=',r.stdout[:160].replace('\\\\n',' | '),'exp=',c.expected[:2])\nprint('tested',n)\nPY\"","aggregated_output":"38 rc 0 prog= map(try .a[] catch ., try .a.[] catch ., .a[]?, .a.[]?) out= [1,2,1,2,1,2,1,2,\"cannot iterate over value\",\"cannot iterate over value\"] |  exp= ['[1,2,1,2,1,2,1,2,\"Cannot iterate over number (123)\",\"Cannot iterate over number (123)\"]']\n39 rc 0 prog= try [\"OK\", (.[] | error)] catch [\"KO\", .] out= [\"KO\",\"error\"] |  exp= ['[\"KO\",[\"b\"]]']\n40 rc 0 prog= try (.foo[-1] = 0) catch . out= {\"foo\":{\"-1\":0}} |  exp= ['\"Out of bounds negative array index\"']\n41 rc 0 prog= try (.foo[-2] = 0) catch . out= {\"foo\":{\"-2\":0}} |  exp= ['\"Out of bounds negative array index\"']\n44 rc 0 prog= try (.[999999999] = 0) catch . out= {\"999999999\":0} |  exp= ['\"Array index too large\"']\n65 rc 0 prog= . as $foo | break $foo out=  exp= []\n72 rc 0 prog= [foreach .[] / .[] as $i (0; . + $i)] out= [1.0,1.5,3.5,4.5] |  exp= ['[1,3,3.5,4.5]']\n85 rc 5 prog= [nth(0,5,9,10,15; range(.)), try nth(-1; range(.)) catch .] out=  exp= ['[0,5,9,\"nth doesn\\'t support negative indices\"]']\n107 rc 3 prog= . as {as: $kw, \"str\": $str, (\"e\"+\"x\"+\"p\"): $exp} | [$kw, $str, $exp] out=  exp= ['[1, 2, 3]']\n113 rc 0 prog= . as $foo | [$foo, $bar] out=  exp= []\n146 rc 0 prog= .[] | try toboolean catch . out= \"unknown function toboolean\" | \"unknown function toboolean\" | \"unknown function toboolean\" | \"unknown function toboolean\" | \"unknown function toboolean\" | \"unknown functi exp= ['\"null (null) cannot be parsed as a boolean\"', '\"number (0) cannot be parsed as a boolean\"']\n147 rc 0 prog= \"true\\u0000x\", \"false\\u0000\" | try toboolean catch . out= \"unknown function toboolean\" | \"unknown function toboolean\" |  exp= ['\"string (\\\\\"true\\\\\\\\u0000x\\\\\") cannot be parsed as a boolean\"', '\"string (\\\\\"false\\\\\\\\u0000\\\\\") cannot be parsed as a boolean\"']\n148 rc 5 prog= [{\"a\":42},.object,10,.num,false,true,null,\"b\",[1,4]] | .[] as $x | [$x == .[]] out=  exp= ['[true,  true,  false, false, false, false, false, false, false]', '[true,  true,  false, false, false, false, false, false, false]']\n151 rc 0 prog= [.[] | try utf8bytelength catch .] out= [\"unknown function utf8bytelength\",\"unknown function utf8bytelength\",\"unknown function utf8bytelength\",\"unknown function utf8bytelength\",\"unknown function utf8b exp= ['[\"array ([]) only strings have UTF-8 byte length\",\"object ({}) only strings have UTF-8 byte length\",\"array ([1,2]) only strings have UTF-8 byte length\",\"number (55) only strings have UTF-8 byte length\",\"boolean (true) only strings have UTF-8 byte length\",\"boolean (false) only strings have UTF-8 byte length\"]']\n162 rc 0 prog= def f: 1; def g: f, def f: 2; def g: 3; f, def f: g; f, g; def f: 4; [f, def f: g; def g: 5; f, g]+[f,g] out= [4,5,5,4,4,2,3,3] |  exp= ['[4,1,2,3,3,5,4,1,2,3,3]']\n176 rc 5 prog= def f: .+1; def g: f; def f: .+100; def f(a):a+.+11; [(g|f(20)), f] out=  exp= ['[33,101]']\n177 TIMEOUT def id(x):x; 2000 as $x | def f(x):1 as $x | id([$x, x, x]); def g(x): 100 as $x | f($x,$x+x); g($x)\n178 TIMEOUT def x(a;b): a as $a | b as $b | $a + $b; def y($a;$b): $a + $b; def check(a;b): [x(a;b)] == [y(a;b)]\n179 rc 0 prog= [[20,10][1,0] as $x | def f: (100,200) as $y | def g: [$x + $y, .]; . + $x | g; f[0] | [f][0][1] | f] out= [[110,130],[210,130],[110,230],[210,230]] |  exp= ['[[110.0, 130.0], [210.0, 130.0], [110.0, 230.0], [210.0, 230.0], [120.0, 160.0], [220.0, 160.0], [120.0, 260.0], [220.0, 260.0]]']\n189 rc 5 prog= . as {$a, $b:[$c, $d]}| [$a, $b, $c, $d] out=  exp= ['[1,[2,{\"d\":3}],2,{\"d\":3}]']\n190 rc 5 prog= .[] | . as {$a, b: [$c, {$d}]} ?// [$a, {$b}, $e] ?// $f | [$a, $b, $c, $d, $e, $f] out=  exp= ['[1, null, 2, 3, null, null]', '[4, 5, null, null, 7, null]']\n207 rc 5 prog= . as $dot|any($dot[];not) out=  exp= ['true']\n208 rc 5 prog= . as $dot|any($dot[];not) out=  exp= ['false']\n209 rc 5 prog= . as $dot|all($dot[];.) out=  exp= ['false']\n210 rc 5 prog= . as $dot|all($dot[];.) out=  exp= ['true']\n225 rc 0 prog= try path(.a | map(select(.b == 0))) catch . out= \"unknown function path\" |  exp= ['\"Invalid path expression with result [{\\\\\"b\\\\\":0}]\"']\n226 rc 0 prog= try path(.a | map(select(.b == 0)) | .[0]) catch . out= \"unknown function path\" |  exp= ['\"Invalid path expression near attempt to access element 0 of [{\\\\\"b\\\\\":0}]\"']\n227 rc 0 prog= try path(.a | map(select(.b == 0)) | .c) catch . out= \"unknown function path\" |  exp= ['\"Invalid path expression near attempt to access element \\\\\"c\\\\\" of [{\\\\\"b\\\\\":0}]\"']\n228 rc 0 prog= try path(.a | map(select(.b == 0)) | .[]) catch . out= \"unknown function path\" |  exp= ['\"Invalid path expression near attempt to iterate through [{\\\\\"b\\\\\":0}]\"']\n231 rc 5 prog= [\"foo\",1] as $p | getpath($p), setpath($p; 20), delpaths([$p]) out=  exp= ['\"b\"', '{\"bar\": 42, \"foo\": [\"a\", 20, \"c\", \"d\"]}']\n234 rc 5 prog= [\"foo\",1] as $p | getpath($p), setpath($p; 20), delpaths([$p]) out=  exp= ['null', '{\"bar\":false, \"foo\": [null, 20]}']\n236 rc 0 prog= try delpaths(0) catch . out= \"unknown function delpaths\" |  exp= ['\"Paths must be specified as an array\"']\n245 rc 0 prog= try pick(last) catch . out= \"unknown function pick\" |  exp= ['\"Out of bounds negative array index\"']\n253 rc 0 prog= def inc(x): x |= .+1; inc(.[].a) out=  exp= ['[{\"a\":2,\"b\":2},{\"a\":3,\"b\":4},{\"a\":8,\"b\":8}]']\n254 rc 0 prog= .[] | try (getpath([\"a\",0,\"b\"]) |= 5) catch . out=  exp= ['{\"a\":[{\"b\":5}]}', '{\"b\":0,\"a\":[{\"b\":5}]}']\n260 rc 0 prog= try ((map(select(.a == 1))[].b) = 10) catch . out=  exp= ['\"Invalid path expression near attempt to iterate through [{\\\\\"a\\\\\":1}]\"']\n261 rc 0 prog= try ((map(select(.a == 1))[].a) |= .+1) catch . out=  exp= ['\"Invalid path expression near attempt to iterate through [{\\\\\"a\\\\\":1}]\"']\n263 rc 0 prog= try (def x: reverse; x=10) catch . out=  exp= ['\"Invalid path expression with result [2,1,0]\"']\n296 rc 0 prog= [.[]|try if . == 0 then error(\"foo\") elif . == 1 then .a elif . == 2 then empty else . end catch .] out= [\"foo\",\"cannot index value\",3] |  exp= ['[\"foo\",\"Cannot index number with string (\\\\\"a\\\\\")\",3]']\n300 rc 0 prog= try error(0) // 1 out=  exp= ['1']\n302 rc 0 prog= 1 + try 2 catch 3 + 4 out= 3 |  exp= ['7']\n304 rc 5 prog= try -.? catch . out=  exp= ['\"string (\\\\\"foo\\\\\") cannot be negated\"']\n307 rc 0 prog= .[] | try error catch . out= \"error\" | \"error\" | \"error\" |  exp= ['1', 'null']\n308 rc 0 prog= try error(\"\\($__loc__)\") catch . out= \"variable $__loc__ is not defined\" |  exp= ['\"{\\\\\"file\\\\\":\\\\\"<top-level>\\\\\",\\\\\"line\\\\\":1}\"']\n321 rc 0 prog= try _strindices(\"abc\") catch . out= \"unknown function _strindices\" |  exp= ['\"number (123) cannot be searched, as it is not a string\"']\n322 rc 0 prog= try _strindices(123) catch . out= \"unknown function _strindices\" |  exp= ['\"number (123) is not a string\"']\n325 rc 0 prog= try trim catch ., try ltrim catch ., try rtrim catch . out= \"unknown function trim\" | \"unknown function ltrim\" | \"unknown function rtrim\" |  exp= ['\"trim input must be a string\"', '\"trim input must be a string\"']\n388 rc 0 prog= try [\"OK\", bsearch(0)] catch [\"KO\",.] out= [\"KO\",\"unknown function bsearch\"] |  exp= ['[\"KO\",\"string (\\\\\"aa\\\\\") cannot be searched from\"]']\n395 rc 0 prog= try strftime(\"%Y-%m-%dT%H:%M:%SZ\") catch . out= \"unknown function strftime\" |  exp= ['\"strftime/1 requires parsed datetime inputs\"']\n396 rc 0 prog= try strflocaltime(\"%Y-%m-%dT%H:%M:%SZ\") catch . out= \"unknown function strflocaltime\" |  exp= ['\"strflocaltime/1 requires parsed datetime inputs\"']\n397 rc 0 prog= try mktime catch . out= \"unknown function mktime\" |  exp= ['\"mktime requires parsed datetime inputs\"']\n398 rc 0 prog= try [\"OK\", strftime([])] catch [\"KO\", .] out= [\"KO\",\"unknown function strftime\"] |  exp= ['[\"KO\",\"strftime/1 requires a string format\"]']\n399 rc 0 prog= try [\"OK\", strflocaltime({})] catch [\"KO\", .] out= [\"KO\",\"unknown function strflocaltime\"] |  exp= ['[\"KO\",\"strflocaltime/1 requires a string format\"]']\n402 rc 3 prog= import \"a\" as foo; import \"b\" as bar; def fooa: foo::a; [fooa, bar::a, bar::b, foo::a] out=  exp= ['[\"a\",\"b\",\"c\",\"a\"]']\n403 rc 3 prog= import \"c\" as foo; [foo::a, foo::c] out=  exp= ['[0,\"acmehbah\"]']\n404 rc 3 prog= include \"c\"; [a, c] out=  exp= ['[0,\"acmehbah\"]']\n405 rc 3 prog= import \"data\" as $e; import \"data\" as $d; [$d[].this,$e[].that,$d::d[].this,$e::e[].that]|join(\";\") out=  exp= ['\"is a test;is too;is a test;is too\"']\n406 rc 3 prog= import \"data\" as $a; import \"data\" as $b; def f: {$a, $b}; f out=  exp= ['{\"a\":[{\"this\":\"is a test\",\"that\":\"is too\"}],\"b\":[{\"this\":\"is a test\",\"that\":\"is too\"}]}']\n407 rc 3 prog= include \"shadow1\"; e out=  exp= ['2']\n408 rc 3 prog= include \"shadow1\"; include \"shadow2\"; e out=  exp= ['3']\n409 rc 3 prog= import \"shadow1\" as f; import \"shadow2\" as f; import \"shadow1\" as e; [e::e, f::e] out=  exp= ['[2,3]']\n416 rc 5 prog= modulemeta out=  exp= ['{\"whatever\":null,\"deps\":[{\"as\":\"foo\",\"is_data\":false,\"relpath\":\"a\"},{\"search\":\"./\",\"as\":\"d\",\"is_data\":false,\"relpath\":\"d\"},{\"search\":\"./\",\"as\":\"d2\",\"is_data\":false,\"relpath\":\"d\"},{\"search\":\"./../lib/jq\",\"as\":\"e\",\"is_data\":false,\"relpath\":\"e\"},{\"search\":\"./../lib/jq\",\"as\":\"f\",\"is_data\":false,\"relpath\":\"f\"},{\"as\":\"d\",\"is_data\":true,\"relpath\":\"data\"}],\"defs\":[\"a/0\",\"c/0\"]}']\n417 rc 5 prog= modulemeta | .deps | length out=  exp= ['6']\n418 rc 5 prog= modulemeta | .defs | length out=  exp= ['2']\n421 rc 3 prog= import \"test_bind_order\" as check; check::check out=  exp= ['true']\n422 rc 5 prog= try -. catch . out=  exp= ['\"string (\\\\\"very-long-long-long-long...\\\\\") cannot be negated\"']\n423 rc 5 prog= try (.-.) catch . out=  exp= ['\"string (\\\\\"very-long-long-long-long...\\\\\") and string (\\\\\"very-long-long-long-long...\\\\\") cannot be subtracted\"']\n424 rc 5 prog= \"x\" * range(0; 12; 2) + \"☆\" * 8 | try -. catch . out=  exp= ['\"string (\\\\\"☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xx☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"']\n425 rc 5 prog= try (. + \"x\") catch . == if have_decnum then \"number (12345678901234567890123456...) and string (\\\"x\\\") cannot be added\" else \"num out=  exp= ['true']\n429 rc 0 prog= try join(\",\") catch . out= \"1,2,{\\\"a\\\":{\\\"b\\\":{\\\"c\\\":33}}}\" |  exp= ['\"string (\\\\\"1,2,\\\\\") and object ({\\\\\"a\\\\\":{\\\\\"b\\\\\":{\\\\\"c\\\\\":33}}}) cannot be added\"']\n430 rc 0 prog= try join(\",\") catch . out= \"1,2,[3,4,5]\" |  exp= ['\"string (\\\\\"1,2,\\\\\") and array ([3,4,5]) cannot be added\"']\n437 rc 5 prog= [range(-52;52;1)] as $powers | [$powers[]|pow(2;.)|log2|round] == $powers out=  exp= ['true']\n438 rc 5 prog= [range(-99/2;99/2;1)] as $orig | [$orig[]|pow(2;.)|log2] as $back | ($orig|keys)[]|. as $k | (($orig|.[$k])-($back|.[$k]))|if . <  out=  exp= []\n449 rc 0 prog= (.a as $x | .b) = \"b\" out=  exp= ['{\"a\":null,\"b\":\"b\"}']\n460 rc 5 prog= .[0] | tostring | . == if have_decnum then \"13911860366432393\" else \"13911860366432392\" end out=  exp= ['true']\n461 rc 5 prog= .x | tojson | . == if have_decnum then \"13911860366432393\" else \"13911860366432392\" end out=  exp= ['true']\n462 rc 5 prog= (13911860366432393 == 13911860366432392) | . == if have_decnum then false else true end out=  exp= ['true']\n466 rc 5 prog= -. | tojson == if have_decnum then \"-13911860366432393\" else \"-13911860366432392\" end out=  exp= ['true']\n467 rc 5 prog= -. | tojson == if have_decnum then \"0.12345678901234567890123456789\" else \"0.12345678901234568\" end out=  exp= ['true']\n468 rc 5 prog= [1E+1000,-1E+1000 | tojson] == if have_decnum then [\"1E+1000\",\"-1E+1000\"] else [\"1.7976931348623157e+308\",\"-1.7976931348623157e+30 out=  exp= ['true']\n470 rc 0 prog= .[] as $n | $n+0 | [., tostring, . == $n] out= [-9007199254740993,\"-9007199254740993\",true] | [-9007199254740992,\"-9007199254740992\",true] | [9007199254740992,\"9007199254740992\",true] | [9007199254740993,\"90071992 exp= ['[-9007199254740992,\"-9007199254740992\",true]', '[-9007199254740992,\"-9007199254740992\",true]']\n476 rc 5 prog= [1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\"1E+1000\"] else [\"1.7976931348623157e+308\"] end out=  exp= ['true']\n477 rc 5 prog= [1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\"1E+1000\"] else [\"1.7976931348623157e+308\"] end out=  exp= ['true']\n481 rc 0 prog= 1 as $foreach | 2 as $and | 3 as $or | { $foreach, $and, $or, a } out= {\"1\":1,\"2\":2,\"3\":3,\"a\":4} |  exp= ['{\"foreach\":1,\"and\":2,\"or\":3,\"a\":4}']\n484 rc 0 prog= 1 as $x | \"2\" as $y | \"3\" as $z | { $x, as, $y: 4, ($z): 5, if: 6, foo: 7 } out= {\"1\":1,\"as\":8,\"2\":4,\"3\":5,\"if\":6,\"foo\":7} |  exp= ['{\"x\":1,\"as\":8,\"2\":4,\"3\":5,\"if\":6,\"foo\":7}']\n487 rc 0 prog= .[] | try (fromjson | isnan) catch . out= \"unknown function isnan\" | \"invalid JSON\" | \"invalid JSON\" | \"invalid JSON\" | \"invalid JSON\" | \"invalid JSON\" | \"invalid JSON\" | \"invalid JSON\" |  exp= ['true', 'true']\n488 rc 0 prog= try input catch . out= \"unknown function input\" |  exp= ['\"break\"']\n492 rc 0 prog= try ([\"hi\",\"ho\"]|.[]|(try . catch (if .==\"ho\" then \"BROKEN\"|error else empty end)) | if .==\"ho\" then error else \"\\(.) there!\" end) out= \"hi there!\" | \"caught outside error\" |  exp= ['\"hi there!\"', '\"caught outside ho\"']\n493 rc 5 prog= .[]|(try . catch (if .==\"ho\" then \"BROKEN\"|error else empty end)) | if .==\"ho\" then error else \"\\(.) there!\" end out= \"hi there!\" |  exp= ['\"hi there!\"']\n494 rc 0 prog= try (try error catch \"inner catch \\(.)\") catch \"outer catch \\(.)\" out= \"inner catch error\" |  exp= ['\"inner catch foo\"']\n495 rc 0 prog= try ((try error catch \"inner catch \\(.)\")|error) catch \"outer catch \\(.)\" out= \"outer catch error\" |  exp= ['\"outer catch inner catch foo\"']\n500 rc 0 prog= .[] |= try tonumber out= [1,null,3,4,5,6.7,null,-876,null,21] |  exp= ['[1, 3, 6.7, 0.89, -876, 5.43, 21]']\n503 rc 5 prog= map(try implode catch .) out=  exp= ['[\"implode input must be an array\",\"string (\\\\\"a\\\\\") can\\'t be imploded, unicode codepoint needs to be numeric\",\"number (null) can\\'t be imploded, unicode codepoint needs to be numeric\"]']\n504 rc 0 prog= try 0[implode] catch . out= \"unknown function implode\" |  exp= ['\"Cannot index number with string (\\\\\"\\\\\")\"']\n519 rc 5 prog= try ([range(3)] | .[nan] = 9) catch . out=  exp= ['\"Cannot set array element at NaN index\"']\n520 rc 0 prog= try (\"foobar\" | .[1.5:3.5] = \"xyz\") catch . out=  exp= ['\"Cannot update string slices\"']\n521 rc 0 prog= try ([range(10)] | .[1.5:3.5] = [\"xyz\"]) catch . out=  exp= ['[0,\"xyz\",4,5,6,7,8,9]']\n522 rc 0 prog= try (\"foobar\" | .[1.5]) catch . out= \"cannot index string with number\" |  exp= ['\"Cannot index string with number (1.5)\"']\n523 rc 0 prog= try [\"ok\", setpath([1]; 1)] catch [\"ko\", .] out= [\"ko\",\"unknown function setpath\"] |  exp= ['[\"ko\",\"Cannot index object with number (1)\"]']\n524 rc 0 prog= try fromjson catch . out= \"invalid JSON\" |  exp= ['\"Invalid string literal; expected \\\\\", but got \\' at line 1, column 5 (while parsing \\'{\\'a\\': 123}\\')\"']\n525 rc 0 prog= try ltrimstr(1) catch \"x\", try rtrimstr(1) catch \"x\" | \"ok\" out= \"x\" | \"ok\" |  exp= ['\"ok\"', '\"ok\"']\n526 rc 0 prog= try ltrimstr(\"x\") catch \"x\", try rtrimstr(\"x\") catch \"x\" | \"ok\" out= \"x\" | \"ok\" |  exp= ['\"ok\"', '\"ok\"']\n527 rc 0 prog= .[] as [$x, $y] | try [\"ok\", ($x | ltrimstr($y))] catch [\"ko\", .] out= [\"ko\",\"unknown function ltrimstr\"] | [\"ko\",\"unknown function ltrimstr\"] | [\"ko\",\"unknown function ltrimstr\"] | [\"ko\",\"unknown function ltrimstr\"] |  exp= ['[\"ko\",\"startswith() requires string inputs\"]', '[\"ko\",\"startswith() requires string inputs\"]']\n528 rc 0 prog= .[] as [$x, $y] | try [\"ok\", ($x | rtrimstr($y))] catch [\"ko\", .] out= [\"ko\",\"unknown function rtrimstr\"] | [\"ko\",\"unknown function rtrimstr\"] | [\"ko\",\"unknown function rtrimstr\"] | [\"ko\",\"unknown function rtrimstr\"] |  exp= ['[\"ko\",\"endswith() requires string inputs\"]', '[\"ko\",\"endswith() requires string inputs\"]']\n529 rc 0 prog= try [\"OK\", setpath([[1]]; 1)] catch [\"KO\", .] out= [\"KO\",\"unknown function setpath\"] |  exp= ['[\"KO\",\"Cannot update field at array index of array\"]']\n530 rc 0 prog= foreach .[] as $x (0, 1; . + $x) out= 1 | 2 | 3 | 4 |  exp= ['1', '3']\n532 rc 1 prog= reduce range(9999) as $_ ([];[.]) | tojson | fromjson | flatten out=  exp= ['[]']\ntested 208\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_10","type":"command_execution","command":"/bin/bash -lc \"sed -n '1,220p' jq_interpreter/cli.py; sed -n '1,180p' jq_interpreter/errors.py; sed -n '1,220p' jq_interpreter/ast.py; sed -n '1,160p' jq_interpreter/runtime.py\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_10","type":"command_execution","command":"/bin/bash -lc \"sed -n '1,220p' jq_interpreter/cli.py; sed -n '1,180p' jq_interpreter/errors.py; sed -n '1,220p' jq_interpreter/ast.py; sed -n '1,160p' jq_interpreter/runtime.py\"","aggregated_output":"\"\"\"Executable boundary for ``jq -c '<program>'``.\"\"\"\n\nimport argparse\nimport json\nimport math\nimport sys\nfrom collections.abc import Iterator\n\nfrom .diagnostics import report_compile_error, report_runtime_error\nfrom .errors import CompileError, RuntimeError\nfrom .interpreter import Interpreter, parse_inputs\n\n\ndef _inputs() -> Iterator[object]:\n    yield from parse_inputs(sys.stdin.read())\n\n\ndef _json_output(value: object) -> object:\n    \"\"\"Convert jq's non-finite numbers to its JSON output representation.\n\n    jq represents NaN and infinities as ``null`` when emitting JSON.  Doing this\n    recursively also covers values nested in arrays and objects.\n    \"\"\"\n    if isinstance(value, float) and not math.isfinite(value):\n        return None\n    if isinstance(value, list):\n        return [_json_output(item) for item in value]\n    if isinstance(value, dict):\n        return {key: _json_output(item) for key, item in value.items()}\n    return value\n\n\ndef main(argv: list[str] | None = None) -> int:\n    arguments = argparse.ArgumentParser(prog=\"jq\")\n    arguments.add_argument(\"-c\", action=\"store_true\")\n    arguments.add_argument(\"program\")\n    options = arguments.parse_args(argv)\n    try:\n        interpreter = Interpreter(options.program)\n    except CompileError as error:\n        return report_compile_error(error)\n    try:\n        for output in interpreter.run(_inputs()):\n            print(\n                json.dumps(_json_output(output), separators=(\",\", \":\"), ensure_ascii=False),\n                flush=True,\n            )\n    except (RuntimeError, ValueError, TypeError, json.JSONDecodeError) as error:\n        return report_runtime_error(RuntimeError(str(error)))\n    return 0\n\"\"\"Errors crossing the interpreter's process boundary.\"\"\"\n\n\nclass CompileError(Exception):\n    \"\"\"The jq program could not be parsed or statically validated.\"\"\"\n\n\nclass RuntimeError(Exception):\n    \"\"\"Evaluation failed after the program was compiled.\"\"\"\n\"\"\"Syntax tree types shared by the lexer, parser, and evaluator.\"\"\"\n\nfrom dataclasses import dataclass\n\n\n@dataclass(frozen=True)\nclass Filter:\n    \"\"\"Base type for compiled jq filters.\"\"\"\n\n\n@dataclass(frozen=True)\nclass Identity(Filter):\n    \"\"\"The ``.`` filter, yielding its input unchanged.\"\"\"\n\n\n@dataclass(frozen=True)\nclass Iterate(Filter):\n    \"\"\"The ``.[]`` filter, yielding array or object members in order.\"\"\"\n\n\n@dataclass(frozen=True)\nclass Literal(Filter):\n    \"\"\"A JSON literal filter.\"\"\"\n\n    value: object\n\n\n@dataclass(frozen=True)\nclass Comma(Filter):\n    \"\"\"Concatenate the output streams of two filters.\"\"\"\n\n    left: Filter\n    right: Filter\n\n\n@dataclass(frozen=True)\nclass Raise(Filter):\n    \"\"\"Raise a jq runtime error when evaluated.\"\"\"\n\n    message: str = \"error\"\n\n\n@dataclass(frozen=True)\nclass Array(Filter):\n    \"\"\"Collect a filter's generated values into an array.\"\"\"\n\n    expression: Filter\n\n\n@dataclass(frozen=True)\nclass Limit(Filter):\n    \"\"\"Keep at most ``count`` values from a filter stream.\"\"\"\n\n    count: int\n    expression: Filter\n\n@dataclass(frozen=True)\nclass Pipe(Filter):\n    left: Filter\n    right: Filter\n\n@dataclass(frozen=True)\nclass StringTemplate(Filter):\n    parts: tuple[str | Filter, ...]\n\n@dataclass(frozen=True)\nclass Format(Filter):\n    name: str\n    template: StringTemplate | None = None\n\n@dataclass(frozen=True)\nclass Add(Filter):\n    left: Filter\n    right: Filter\n\n@dataclass(frozen=True)\nclass Node(Filter):\n    \"\"\"General expression node used by the complete source parser.\"\"\"\n    operation: str\n    arguments: tuple[object, ...] = ()\n\"\"\"Runtime value and stream contracts.\"\"\"\n\nfrom collections.abc import Iterator\nfrom dataclasses import dataclass, field\nfrom typing import TypeAlias\n\nJsonValue: TypeAlias = None | bool | int | float | str | list[\"JsonValue\"] | dict[str, \"JsonValue\"]\nValueStream: TypeAlias = Iterator[JsonValue]\n\n\n@dataclass\nclass EvaluationContext:\n    \"\"\"Per-input state for lexical bindings and runtime options.\"\"\"\n\n    bindings: dict[str, JsonValue] = field(default_factory=dict)\n\n\ndef identity_stream(value: JsonValue) -> ValueStream:\n    \"\"\"Yield one value, retaining the stream contract used by the evaluator.\"\"\"\n    yield value\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_11","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/parser.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_11","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/parser.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_12","type":"command_execution","command":"/bin/bash -lc \"rg -n \\\"op == 'indexexpr'|name == 'error'|name=='abs'|name == 'tonumber'|name == 'split'|name == 'select'\\\" jq_interpreter/evaluator.py\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_12","type":"command_execution","command":"/bin/bash -lc \"rg -n \\\"op == 'indexexpr'|name == 'error'|name=='abs'|name == 'tonumber'|name == 'split'|name == 'select'\\\" jq_interpreter/evaluator.py\"","aggregated_output":"295:    if op == 'indexexpr':\n345:    if name == 'error': raise RuntimeError(_one(args[0],value,env) if args else 'error')\n372:    if name=='abs': yield abs(value); return\n422:    if name == 'tonumber':\n455:    if name == 'select':\n481:    if name == 'split':\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_13","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_13","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_14","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_14","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_15","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_15","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_16","type":"command_execution","command":"/bin/bash -lc \"python3 -m py_compile jq_interpreter/*.py && printf 'null\\\\n' | ./jq -c 'try error(0) // 1' && printf 'null\\\\n' | ./jq -c '1 as \"'$foreach | 2 as $and | 3 as $or | { $foreach, $and, $or, a }'\"' && printf '[1,2,3]\\\\n' | ./jq -c 'try (.foo[-1] = 0) catch .'\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_16","type":"command_execution","command":"/bin/bash -lc \"python3 -m py_compile jq_interpreter/*.py && printf 'null\\\\n' | ./jq -c 'try error(0) // 1' && printf 'null\\\\n' | ./jq -c '1 as \"'$foreach | 2 as $and | 3 as $or | { $foreach, $and, $or, a }'\"' && printf '[1,2,3]\\\\n' | ./jq -c 'try (.foo[-1] = 0) catch .'\"","aggregated_output":"jq: runtime error: cannot index value\n","exit_code":5,"status":"failed"}}
{"type":"item.started","item":{"id":"item_17","type":"command_execution","command":"/bin/bash -lc \"set +e; for p in 'try error(0) // 1' '1 as \"'$foreach | 2 as $and | 3 as $or | { $foreach, $and, $or, a }'\"' 'try (.foo[-1] = 0) catch .'; do echo P:\"'$p; printf '\"'null\\\\n' | ./jq -c \\\"\"'$p\"; echo rc:$?; done'","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_17","type":"command_execution","command":"/bin/bash -lc \"set +e; for p in 'try error(0) // 1' '1 as \"'$foreach | 2 as $and | 3 as $or | { $foreach, $and, $or, a }'\"' 'try (.foo[-1] = 0) catch .'; do echo P:\"'$p; printf '\"'null\\\\n' | ./jq -c \\\"\"'$p\"; echo rc:$?; done'","aggregated_output":"rc:0\nP:1 as $foreach | 2 as $and | 3 as $or | { $foreach, $and, $or, a }\njq: runtime error: cannot index value\nrc:5\nP:try (.foo[-1] = 0) catch .\n{\"foo\":{\"-1\":0}}\nrc:0\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_18","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_18","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_19","type":"command_execution","command":"/bin/bash -lc \"set +e; for p in '1 as \"'$foreach | 2 as $and | 3 as $or | { $foreach, $and, $or, a }'\"' 'try (.foo[-1] = 0) catch .'; do printf 'null\\\\n' | ./jq -c \\\"\"'$p\"; echo rc:$?; done\nprintf '\"'null\\\\n' | ./jq -c 'try error(0) catch .' ; echo rc:\"'$?'","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_19","type":"command_execution","command":"/bin/bash -lc \"set +e; for p in '1 as \"'$foreach | 2 as $and | 3 as $or | { $foreach, $and, $or, a }'\"' 'try (.foo[-1] = 0) catch .'; do printf 'null\\\\n' | ./jq -c \\\"\"'$p\"; echo rc:$?; done\nprintf '\"'null\\\\n' | ./jq -c 'try error(0) catch .' ; echo rc:\"'$?'","aggregated_output":"\"Out of bounds negative array index\"\nrc:0\n0\nrc:0\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_20","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_20","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"completed"}}
{"type":"item.completed","item":{"id":"item_21","type":"agent_message","text":"The evaluator now has general fixes for shorthand object keys, null field access, negative/oversized assignment indices, jq error payloads, boolean/string/Unicode helpers, and deep comparison/merge guards. I’m rerunning the declared checks now; any remaining failures will be grouped from the authoritative JSON report."}}
{"type":"item.started","item":{"id":"item_22","type":"command_execution","command":"/bin/bash -lc 'set +e\ntimeout 120 env JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/p004.json\nrc=\"'$?; echo rc:$rc; if [ -s /tmp/p004.json ]; then python3 - <<'\"'PY'\nimport json\np=json.load(open('/tmp/p004.json')); print(p['summary']);\nfor c in p['cases']:\n if c.get('status') not in ('pass','skip'): print(c.get('program','')[:100].replace('\\\\n',' '),c.get('status'))\nPY\nfi\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_22","type":"command_execution","command":"/bin/bash -lc 'set +e\ntimeout 120 env JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/p004.json\nrc=\"'$?; echo rc:$rc; if [ -s /tmp/p004.json ]; then python3 - <<'\"'PY'\nimport json\np=json.load(open('/tmp/p004.json')); print(p['summary']);\nfor c in p['cases']:\n if c.get('status') not in ('pass','skip'): print(c.get('program','')[:100].replace('\\\\n',' '),c.get('status'))\nPY\nfi\"","aggregated_output":"rc:1\n{'pass': 116, 'fail': 95, 'error': 0, 'skip': 13}\nmap(try .a[] catch ., try .a.[] catch ., .a[]?, .a.[]?) fail\ntry (.[999999999] = 0) catch . fail\n. as $foo | break $foo fail\n[foreach .[] / .[] as $i (0; . + $i)] fail\n[nth(0,5,9,10,15; range(.)), try nth(-1; range(.)) catch .] fail\nreduce range(65540;65536;-1) as $i ([]; .[$i] = $i)|.[65536:] fail\n. as {as: $kw, \"str\": $str, (\"e\"+\"x\"+\"p\"): $exp} | [$kw, $str, $exp] fail\n. as $foo | [$foo, $bar] fail\n.[] | try toboolean catch . fail\n\"true\\u0000x\", \"false\\u0000\" | try toboolean catch . fail\n[{\"a\":42},.object,10,.num,false,true,null,\"b\",[1,4]] | .[] as $x | [$x == .[]] fail\ndef f: 1; def g: f, def f: 2; def g: 3; f, def f: g; f, g; def f: 4; [f, def f: g; def g: 5; f, g]+[ fail\ndef f: .+1; def g: f; def f: .+100; def f(a):a+.+11; [(g|f(20)), f] fail\ndef id(x):x; 2000 as $x | def f(x):1 as $x | id([$x, x, x]); def g(x): 100 as $x | f($x,$x+x); g($x) fail\ndef x(a;b): a as $a | b as $b | $a + $b; def y($a;$b): $a + $b; def check(a;b): [x(a;b)] == [y(a;b)] fail\n[[20,10][1,0] as $x | def f: (100,200) as $y | def g: [$x + $y, .]; . + $x | g; f[0] | [f][0][1] | f fail\n. as {$a, $b:[$c, $d]}| [$a, $b, $c, $d] fail\n.[] | . as {$a, b: [$c, {$d}]} ?// [$a, {$b}, $e] ?// $f | [$a, $b, $c, $d, $e, $f] fail\n. as $dot|any($dot[];not) fail\n. as $dot|any($dot[];not) fail\n. as $dot|all($dot[];.) fail\n. as $dot|all($dot[];.) fail\ntry path(.a | map(select(.b == 0))) catch . fail\ntry path(.a | map(select(.b == 0)) | .[0]) catch . fail\ntry path(.a | map(select(.b == 0)) | .c) catch . fail\ntry path(.a | map(select(.b == 0)) | .[]) catch . fail\n[\"foo\",1] as $p | getpath($p), setpath($p; 20), delpaths([$p]) fail\n[\"foo\",1] as $p | getpath($p), setpath($p; 20), delpaths([$p]) fail\ntry delpaths(0) catch . fail\ntry pick(last) catch . fail\ndef inc(x): x |= .+1; inc(.[].a) fail\n.[] | try (getpath([\"a\",0,\"b\"]) |= 5) catch . fail\ntry ((map(select(.a == 1))[].b) = 10) catch . fail\ntry ((map(select(.a == 1))[].a) |= .+1) catch . fail\ntry (def x: reverse; x=10) catch . fail\n[.[]|try if . == 0 then error(\"foo\") elif . == 1 then .a elif . == 2 then empty else . end catch .] fail\ntry error(0) // 1 fail\n1 + try 2 catch 3 + 4 fail\ntry -.? catch . fail\ntry error(\"\\($__loc__)\") catch . fail\ntry _strindices(\"abc\") catch . fail\ntry _strindices(123) catch . fail\ntry trim catch ., try ltrim catch ., try rtrim catch . fail\ntry [\"OK\", bsearch(0)] catch [\"KO\",.] fail\ntry strftime(\"%Y-%m-%dT%H:%M:%SZ\") catch . fail\ntry strflocaltime(\"%Y-%m-%dT%H:%M:%SZ\") catch . fail\ntry mktime catch . fail\ntry [\"OK\", strftime([])] catch [\"KO\", .] fail\ntry [\"OK\", strflocaltime({})] catch [\"KO\", .] fail\ntry -. catch . fail\ntry (.-.) catch . fail\n\"x\" * range(0; 12; 2) + \"☆\" * 8 | try -. catch . fail\ntry (. + \"x\") catch . == if have_decnum then \"number (12345678901234567890123456...) and string (\\\"x fail\ntry join(\",\") catch . fail\ntry join(\",\") catch . fail\n[range(-52;52;1)] as $powers | [$powers[]|pow(2;.)|log2|round] == $powers fail\n(.a as $x | .b) = \"b\" fail\n.[0] | tostring | . == if have_decnum then \"13911860366432393\" else \"13911860366432392\" end fail\n.x | tojson | . == if have_decnum then \"13911860366432393\" else \"13911860366432392\" end fail\n(13911860366432393 == 13911860366432392) | . == if have_decnum then false else true end fail\n-. | tojson == if have_decnum then \"-13911860366432393\" else \"-13911860366432392\" end fail\n-. | tojson == if have_decnum then \"0.12345678901234567890123456789\" else \"0.12345678901234568\" end fail\n[1E+1000,-1E+1000 | tojson] == if have_decnum then [\"1E+1000\",\"-1E+1000\"] else [\"1.7976931348623157e fail\n.[] as $n | $n+0 | [., tostring, . == $n] fail\n[1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\"1E+1000\"] else [\"1.7976931348623 fail\n[1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\"1E+1000\"] else [\"1.7976931348 fail\n.[] | try (fromjson | isnan) catch . fail\ntry input catch . fail\n.[] |= try tonumber fail\nmap(try implode catch .) fail\ntry 0[implode] catch . fail\ntry ([range(3)] | .[nan] = 9) catch . fail\ntry (\"foobar\" | .[1.5:3.5] = \"xyz\") catch . fail\ntry ([range(10)] | .[1.5:3.5] = [\"xyz\"]) catch . fail\ntry (\"foobar\" | .[1.5]) catch . fail\ntry [\"ok\", setpath([1]; 1)] catch [\"ko\", .] fail\ntry fromjson catch . fail\ntry ltrimstr(1) catch \"x\", try rtrimstr(1) catch \"x\" | \"ok\" fail\ntry ltrimstr(\"x\") catch \"x\", try rtrimstr(\"x\") catch \"x\" | \"ok\" fail\ntry [\"OK\", setpath([[1]]; 1)] catch [\"KO\", .] fail\nforeach .[] as $x (0, 1; . + $x) fail\nreduce range(9999) as $_ ([];[.]) | tojson | fromjson | flatten fail\nreduce range(10000) as $_ ([];[.]) | tojson | try (fromjson) catch . | (contains(\"<skipped: too deep fail\nreduce range(10001) as $_ ([];[.]) | tojson | contains(\"<skipped: too deep>\") fail\ntry setpath([range(10001) | 0]; 0) catch . fail\ntry getpath([range(10001) | 0]) catch . fail\ntry delpaths([[range(10001) | 0]]) catch . fail\ntry (reduce range(10001) as $_ ([]; [.]) as $x | $x | contains($x)) catch . fail\nreduce range(10000) as $_ ({}; {a: .}) as $x | $x * $x | length fail\ntry (reduce range(10001) as $_ ({}; {a: .}) as $x | $x * $x) catch . fail\ntry ((reduce range(10001) as $_ ([]; [.])) as $x | (reduce range(10001) as $_ ([]; [.])) as $y | $x  fail\ntry ((reduce range(10001) as $_ ([]; [.])) as $x | [$x, $x] | sort) catch . fail\ntry ((reduce range(10001) as $_ ([]; [.])) as $x | [$x, $x] | unique) catch . fail\ntry ((reduce range(10001) as $_ ({}; {a: .})) as $x | [$x, $x] | sort) catch . fail\ntry ((reduce range(10001) as $_ ({}; {a: .})) as $x | [$x, $x] | unique) catch . fail\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_23","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/parser.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_23","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/parser.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_24","type":"command_execution","command":"/bin/bash -lc \"set +e; for p in 'try error(0) // 1' 'try -.? catch .' '1 + try 2 catch 3 + 4' 'try error catch .'; do echo \"'$p; printf '\"'null\\\\n' | ./jq -c \\\"\"'$p\"; echo rc:$?; done\npytest -q'","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_24","type":"command_execution","command":"/bin/bash -lc \"set +e; for p in 'try error(0) // 1' 'try -.? catch .' '1 + try 2 catch 3 + 4' 'try error catch .'; do echo \"'$p; printf '\"'null\\\\n' | ./jq -c \\\"\"'$p\"; echo rc:$?; done\npytest -q'","aggregated_output":"rc:0\ntry -.? catch .\njq: runtime error: bad operand type for unary -: 'NoneType'\nrc:5\n1 + try 2 catch 3 + 4\n3\nrc:0\ntry error catch .\nnull\nrc:0\n................................                                         [100%]\n32 passed in 3.28s\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_25","type":"command_execution","command":"/bin/bash -lc \"set +e\nfor item in 'p003 \\\\.|\\\\[|\\\\{|\\\\+|\\\\-|\\\\*|/|%' 'p004 %%FAIL|if |try |reduce |foreach |def | as |label |module|include'; do name=\"'${item%% *}; sel=${item#* }; timeout 120 env JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select \"$sel\" --json > \"/tmp/$name.json\"; rc=$?; echo \"$name rc=$rc\"; if [ -s \"/tmp/$name.json\" ]; then python3 -c \"import json;print(json.load(open('\"'/tmp/\"'$name.json'\"'))['summary'])\\\"; fi; done\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.started","item":{"id":"item_26","type":"command_execution","command":"/bin/bash -lc \"ps aux | rg 'run_conformance.py --select|build/jq/jq' | head; ls -l /tmp/p00*.json 2>/dev/null\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_26","type":"command_execution","command":"/bin/bash -lc \"ps aux | rg 'run_conformance.py --select|build/jq/jq' | head; ls -l /tmp/p00*.json 2>/dev/null\"","aggregated_output":"barlo    3126735  0.0  0.0   4788  3072 ?        Ss   18:28   0:00 /bin/bash -c set +e for item in 'p003 \\.|\\[|\\{|\\+|\\-|\\*|/|%' 'p004 %%FAIL|if |try |reduce |foreach |def | as |label |module|include'; do name=${item%% *}; sel=${item#* }; timeout 120 env JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select \"$sel\" --json > \"/tmp/$name.json\"; rc=$?; echo \"$name rc=$rc\"; if [ -s \"/tmp/$name.json\" ]; then python3 -c \"import json;print(json.load(open('/tmp/$name.json'))['summary'])\"; fi; done\nbarlo    3126736  0.0  0.0   3224  1792 ?        S    18:28   0:00 timeout 120 env JQ=/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq python3 sources/run_conformance.py --select \\.|\\[|\\{|\\+|\\-|\\*|/|% --json\nbarlo    3126737  0.4  0.1  38748 20052 ?        S    18:28   0:00 python3 sources/run_conformance.py --select \\.|\\[|\\{|\\+|\\-|\\*|/|% --json\nbarlo    3127246  0.0  0.0  34848 15360 ?        R    18:29   0:00 python3 /mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq -c try fromjson catch .\nbarlo    3127248  0.0  0.0   4788  3072 ?        Ss   18:29   0:00 /bin/bash -c ps aux | rg 'run_conformance.py --select|build/jq/jq' | head; ls -l /tmp/p00*.json 2>/dev/null\nbarlo    3127250  0.0  0.0   9868  4608 ?        S    18:29   0:00 rg run_conformance.py --select|build/jq/jq\n-rw-r--r-- 1 barlo barlo     0 Aug 22 18:28 /tmp/p003.json\n-rw-r--r-- 1 barlo barlo 38803 Aug 22 18:27 /tmp/p004.json\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_27","type":"command_execution","command":"/bin/bash -lc \"pkill -f '/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq' || true; pkill -f 'sources/run_conformance.py --select' || true; python3 - <<'PY'\nimport json\np=json.load(open('/tmp/p004.json'));print(p['summary'])\nPY\nsha256sum sources/* > /tmp/sources.sha; pytest -q\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_27","type":"command_execution","command":"/bin/bash -lc \"pkill -f '/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq' || true; pkill -f 'sources/run_conformance.py --select' || true; python3 - <<'PY'\nimport json\np=json.load(open('/tmp/p004.json'));print(p['summary'])\nPY\nsha256sum sources/* > /tmp/sources.sha; pytest -q\"","aggregated_output":"","exit_code":143,"status":"failed"}}
{"type":"item.started","item":{"id":"item_28","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport json\np=json.load(open('/tmp/p004.json'));print('parse004',p['summary'])\nPY\npytest -q\nsha256sum sources/* | head\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_28","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport json\np=json.load(open('/tmp/p004.json'));print('parse004',p['summary'])\nPY\npytest -q\nsha256sum sources/* | head\"","aggregated_output":"................................                                         [100%]\n32 passed in 4.33s\nsha256sum: sources/__pycache__: Is a directory\nb8a5fd9579be9b51c9a04e6620f8c1655539aa57eea33a84e202a8dea401f2a4  sources/builtin.jq\n0755022f0c2f339883aaa2668a10d6a11bc8f7c4a37b0743f213830d848a05d9  sources/exclusions.txt\n4df25cda12c2741ee02cb7e22d5e3b62161bd90fde948c88a675cb2a94e70fc5  sources/full_test.sh\n92fc1c179ee6e33d75ffc1f24dd1f0b8ddf5ea666a51224be5088d9431cd8ab3  sources/jq-manual.txt\n329689763b651096989bd8260b643731083fc5fd17f6bd7834d158713f738cbd  sources/jq.test\ncfb3af17a786df30d7e30dae5861b84747d4904f8ce7ae9ab9b48bde342ee7f3  sources/lexer.l\n803aa7c0b1acba2228e52d1de392fb51e60a7bbe23e42870aea1d62c43360c60  sources/parser.y\nc1b5be717d542f2d2dc4f4a694dd02ae8c8f84b25f15c6224fbb6a784abe7492  sources/run_conformance.py\n","exit_code":0,"status":"completed"}}
{"type":"item.completed","item":{"id":"item_29","type":"agent_message","text":"RESULT: FAILED\n\nFILES CHANGED:\n- jq_interpreter/parser.py\n- jq_interpreter/evaluator.py\n\nSUMMARY:\nImplemented parser/evaluator fixes and added jq semantics for bindings, indexing, errors, booleans, string helpers, Unicode helpers, and depth guards. Existing tests pass: 32 passed. PARSE-004 remains failing: 116 passed, 95 failed, 13 skipped. PARSE-003 timed out on the authoritative corpus.\n\nBLOCKERS:\n- Significant evaluator semantics remain incomplete, including assignments, user-defined function scoping, paths, reductions, and deep structures.\n\nFAILURE_SUMMARY: Scoped conformance criteria still fail.\nFAILURE_DETAIL: pytest passes, but the authoritative PARSE-004 slice reports 95 failures and PARSE-003 does not complete within the timeout. Further evaluator implementation is required."}}
{"type":"turn.completed","usage":{"input_tokens":2409480,"cached_input_tokens":2311168,"cache_write_input_tokens":0,"output_tokens":10515,"reasoning_output_tokens":2327}}
