Run artifact

workspace/targets/jq/blueprint/FEATURE-PARSE-003.md

FEATURE: jq Filter Expression Grammar

FieldValue
Version20260822 V1
DescriptionParse jq expressions with precedence, composition, accessors, collections, and operators.
Depends OnARCHITECTURE.md, FEATURE-PARSE-002.md
Providesexpression AST, precedence, pipes, commas, indexing, slicing, arrays, objects, operators
Consumesjq lexer and token stream

Scope

Implement the expression grammar and AST for pipes, commas, parentheses, unary operators, binary operators, field and index access, iteration, slices, arrays, objects, optional expressions, and assignment syntax. Operator precedence and associativity must follow sources/parser.y.

Programmatic Acceptance

=== AC parse-003-conformance ===
Intent: The executable passes every selected corpus case exercising expression punctuation, accessors, collections, and operators.
Suite: scoped
Requires: executable=python3; scope=test

import json import os import subprocess import sys

selector = r"\.|\[|\{|\+|\-|\*|/|%" result = subprocess.run( [sys.executable, "sources/run_conformance.py", "--select", selector, "--json"], capture_output=True, text=True, env={**os.environ, "JQ": f"{os.getcwd()}/jq"}, ) print(result.stdout) print(result.stderr, file=sys.stderr) report = json.loads(result.stdout) summary = report["summary"] assert sum(summary.values()) > 0 assert summary["fail"] == 0 and summary["error"] == 0 assert result.returncode == 0 === END AC parse-003-conformance ===

User Acceptance

Guardrails