=== BEGIN ARTIFACT TOPOLOGY.md === # TOPOLOGY: jq ## story architecture summary: Define the standalone interpreter architecture and module boundaries. type: foundational kind: capability phase: 1 implements: ARCHITECTURE.md stack: common.md, python.md provides: interpreter module boundaries, executable boundary acceptance: yes instructions: | Establish the Python standard-library architecture, executable boundary, lexer/parser/evaluator ownership, immutable value and path-operation boundaries, and diagnostic flow. Do not add third-party dependencies or shell out to another jq implementation. scope: blueprint ## story exec-001 summary: Implement the executable jq entry point. type: service kind: capability phase: 1 implements: FEATURE-Executable-Entry-Point.md covers: EXEC-001 stack: common.md, python.md context: ARCHITECTURE.md, sources/INSTRUCTIONS.md, sources/run_conformance.py provides: ./jq -c program execution consumes: interpreter parser and evaluator depends: architecture acceptance: yes instructions: | Deliver an executable named jq at the application root. Accept the exercised -c program interface, read JSON input from stdin, evaluate the filter, and emit each result as one compact JSON value per line. Gate with the EXEC-001 selector from STORY_GUIDANCE.json, executing cases. scope: target ## story exec-002 summary: Implement jq process exit and diagnostic behavior. type: service kind: capability phase: 1 implements: FEATURE-Process-Contract.md covers: EXEC-002 stack: common.md, python.md context: ARCHITECTURE.md, sources/INSTRUCTIONS.md, sources/run_conformance.py provides: compile exit 3, runtime exit 5, success exit 0, stderr diagnostics consumes: ./jq -c program execution depends: exec-001 acceptance: yes instructions: | Keep compilation failures distinct from runtime failures and preserve partial stdout before a runtime error. Send diagnostics only to stderr. Gate with the EXEC-002-related corpus slice using the runner's executing scoped mode. scope: target ## story exec-003 summary: Implement JSON input, Unicode, numeric, and compact output handling. type: service kind: capability phase: 1 implements: FEATURE-Json-IO.md covers: EXEC-003 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq.test, sources/run_conformance.py provides: JSON stdin parsing, compact JSON serialization, ordered output stream consumes: ./jq -c program execution depends: exec-002 acceptance: yes instructions: | Support multiple JSON input values, Unicode escapes and characters, special numeric values required by the corpus, structural output ordering, and one output value per line. Gate the EXEC-003-related executing corpus slice. scope: target ## story parse-001 summary: Implement jq lexical scanning. type: service kind: capability phase: 2 implements: FEATURE-Lexer.md covers: PARSE-001 stack: common.md, python.md context: ARCHITECTURE.md, sources/lexer.l, sources/parser.y, sources/jq.test provides: jq tokenization consumes: interpreter executable boundary depends: exec-003 acceptance: yes instructions: | Implement lexical scanning for literals, identifiers, fields, bindings, keywords, operators, delimiters, comments, formats, and interpolation markers according to sources/lexer.l. Gate with the PARSE-001 executing selector. scope: target ## story parse-002 summary: Implement literals, escapes, and string interpolation. type: service kind: capability phase: 2 implements: FEATURE-Strings-and-Interpolation-Parser.md covers: PARSE-002 stack: common.md, python.md context: ARCHITECTURE.md, sources/lexer.l, sources/parser.y, sources/jq.test provides: JSON string literals, escapes, interpolation, format literals consumes: jq tokenization depends: parse-001 acceptance: yes instructions: | Parse JSON escapes, Unicode, formatted strings, and \(expression) interpolation with generator multiplicity preserved. Gate with the PARSE-002 executing selector. scope: target ## story parse-003 summary: Implement the jq filter expression grammar. type: service kind: capability phase: 2 implements: FEATURE-Filter-Parser.md covers: PARSE-003 stack: common.md, python.md context: ARCHITECTURE.md, sources/parser.y, sources/lexer.l, sources/jq.test provides: AST for pipes, commas, precedence, indexing, slices, arrays, objects, operators consumes: jq tokenization depends: parse-002 acceptance: yes instructions: | Implement expression parsing and precedence for pipes, commas, indexing, slicing, arrays, objects, unary operators, binary operators, and optional expressions. Gate with the PARSE-003 executing selector. scope: target ## story parse-004 summary: Implement declarations and control syntax parsing. type: service kind: capability phase: 2 implements: FEATURE-Declaration-Parser.md covers: PARSE-004 stack: common.md, python.md context: ARCHITECTURE.md, sources/parser.y, sources/lexer.l, sources/jq.test provides: declarations, modules grammar, conditionals, exceptions, reductions, labels, bindings consumes: AST for filter expressions depends: parse-003 acceptance: yes instructions: | Parse def, module/include grammar, conditionals, try/catch, reductions, foreach, labels, bindings, destructuring, and required rejection cases without loading excluded module fixtures. Gate with the PARSE-004 executing selector. scope: target ## story core-001 summary: Implement stream-valued filter evaluation. type: service kind: capability phase: 3 implements: FEATURE-Generator-Core.md covers: CORE-001 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/jq.test provides: ordered generator evaluation, empty, iteration, range consumes: AST for filter expressions depends: parse-004 acceptance: yes instructions: | Evaluate every filter as an ordered generator supporting zero, one, or many outputs, backtracking, identity, iteration, range, and empty. Gate with the CORE-001 executing selector. scope: target ## story core-002 summary: Implement composition and Cartesian evaluation. type: service kind: capability phase: 3 implements: FEATURE-Composition.md covers: CORE-002 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/jq.test provides: pipe, comma, argument Cartesian products, collection, object construction consumes: ordered generator evaluation depends: core-001 acceptance: yes instructions: | Implement generator composition, Cartesian argument evaluation, array collection, object construction, and multiplicity/order semantics. Gate with the CORE-002 executing selector. scope: target ## story core-003 summary: Implement empty, runtime errors, optional evaluation, and try. type: service kind: capability phase: 3 implements: FEATURE-Error-and-Optional-Evaluation.md covers: CORE-003 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/jq.test provides: empty, error, runtime failure, optional operator, try/catch consumes: ordered generator evaluation depends: core-002 acceptance: yes instructions: | Preserve errors, suppression, try/catch behavior, optional operators, and output emitted before runtime failure. Gate with the CORE-003 executing selector. scope: target ## story core-004 summary: Implement jq truthiness, equality, and ordering. type: service kind: capability phase: 3 implements: FEATURE-Truthiness-and-Comparison.md covers: CORE-004 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/jq.test provides: truthiness, equality, inequality, type ordering, comparisons consumes: ordered generator evaluation depends: core-003 acceptance: yes instructions: | Implement false/null truthiness, strict jq equality, numeric equivalence, and total ordering across jq value types. Gate with the CORE-004 executing selector. scope: target ## story value-001 summary: Implement the jq value model and special numbers. type: service kind: capability phase: 4 implements: FEATURE-Value-Model.md covers: VALUE-001 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/jq.test provides: null, booleans, numbers, strings, arrays, objects, NaN, infinities consumes: truthiness, equality, and ordering depends: core-004 acceptance: yes instructions: | Represent jq values using only the standard library, preserving required literal-number behavior and supporting NaN and infinities. Gate with the VALUE-001 executing selector. scope: target ## story value-002 summary: Implement field and index access. type: service kind: capability phase: 4 implements: FEATURE-Accessors.md covers: VALUE-002 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/jq.test provides: object fields, array indices, optional access, negative indices consumes: jq value model depends: value-001 acceptance: yes instructions: | Implement object-field access, array indexing, missing values, optional access, and negative indices with jq error semantics. Gate with the VALUE-002 executing selector. scope: target ## story value-003 summary: Implement slices and collection iteration. type: service kind: capability phase: 4 implements: FEATURE-Slices-and-Iteration.md covers: VALUE-003 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/jq.test provides: array/string slices, array/object iteration, fractional bounds consumes: field and index access depends: value-002 acceptance: yes instructions: | Implement array and string slices, array/object iteration, optional iteration, fractional and out-of-range bounds. Gate with the VALUE-003 executing selector. scope: target ## story value-004 summary: Implement type, length, numeric predicates, and math primitives. type: service kind: capability phase: 4 implements: FEATURE-Type-and-Numeric-Builtins.md covers: VALUE-004 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/builtin.jq, sources/jq.test provides: type, length, utf8bytelength, numeric predicates, conversion, arithmetic math consumes: jq value model, field and index access depends: value-003 acceptance: yes instructions: | Implement type and length behavior, UTF-8 byte length, numeric predicates, tonumber, tostring-related conversion, arithmetic primitives, and required math functions. Gate with the VALUE-004 executing selector. scope: target ## story flow-001 summary: Implement arithmetic and structural operators. type: service kind: capability phase: 5 implements: FEATURE-Arithmetic-Operators.md covers: FLOW-001 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/jq.test provides: plus, minus, multiply, divide, modulo, negation, recursive merge, repetition consumes: type and numeric builtins depends: value-004 acceptance: yes instructions: | Implement numeric, array, string, and object arithmetic; recursive object merge; string repetition and splitting; unary negation and division errors. Gate with the FLOW-001 selector. scope: target ## story flow-002 summary: Implement boolean and alternative operators. type: service kind: capability phase: 5 implements: FEATURE-Boolean-and-Alternative-Operators.md covers: FLOW-002 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/jq.test provides: and, or, not, defined-or, defined-or assignment consumes: truthiness and generator evaluation depends: flow-001 acceptance: yes instructions: | Implement boolean operators, not, //, and //= with jq generator filtering and short-circuit behavior. Gate with the FLOW-002 executing selector. scope: target ## story flow-003 summary: Implement conditionals and exception flow. type: service kind: capability phase: 5 implements: FEATURE-Conditionals-and-Exceptions.md covers: FLOW-003 stack: common.md, python.md context: ARCHITECTURE.md, sources/parser.y, sources/jq-manual.txt, sources/jq.test provides: if, elif, else, try, catch, optional branches consumes: boolean and alternative operators depends: flow-002 acceptance: yes instructions: | Implement branching over generator results, optional else behavior, and exception flow with correct partial-output and backtracking semantics. Gate with the FLOW-003 executing selector. scope: target ## story flow-004 summary: Implement lexical labels and breaks. type: service kind: capability phase: 5 implements: FEATURE-Labels-and-Breaks.md covers: FLOW-004 stack: common.md, python.md context: ARCHITECTURE.md, sources/parser.y, sources/jq-manual.txt, sources/jq.test provides: label and break consumes: conditionals and exception flow depends: flow-003 acceptance: yes instructions: | Implement lexically scoped labels and breaks that terminate only the matching generator context, including invalid-label compile behavior. Gate with the FLOW-004 executing selector. scope: target ## story flow-005 summary: Implement reductions and iteration controls. type: service kind: capability phase: 5 implements: FEATURE-Reductions-and-Iteration-Control.md covers: FLOW-005 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/builtin.jq, sources/jq.test provides: reduce, foreach, limit, skip, first, last, nth, range consumes: labels and breaks, generator evaluation depends: flow-004 acceptance: yes instructions: | Implement reduce and foreach state transitions plus limit, skip, first, last, nth, and generator-preserving range behavior. Gate with the FLOW-005 executing selector. scope: target ## story flow-006 summary: Implement recursive generators. type: service kind: capability phase: 5 implements: FEATURE-Recursive-Generators.md covers: FLOW-006 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/builtin.jq, sources/jq.test provides: while, until, repeat, recurse, recursive descent consumes: reductions and iteration controls depends: flow-005 acceptance: yes instructions: | Implement while, until, repeat, recurse, recursive descent, termination, and generator ordering without incorrect recursion cutoffs. Gate with the FLOW-006 executing selector. scope: target ## story func-001 summary: Implement lexical variable bindings. type: service kind: capability phase: 6 implements: FEATURE-Variable-Bindings.md covers: FUNC-001 stack: common.md, python.md context: ARCHITECTURE.md, sources/parser.y, sources/jq-manual.txt, sources/jq.test provides: as bindings, lexical scope, shadowing, keyword identifiers consumes: recursive generators depends: flow-006 acceptance: yes instructions: | Implement as bindings, nested lexical scope, shadowing, keyword names, and value lifetime. Gate with the FUNC-001 executing selector. scope: target ## story func-002 summary: Implement filter and value function parameters. type: service kind: capability phase: 6 implements: FEATURE-Function-Parameters.md covers: FUNC-002 stack: common.md, python.md context: ARCHITECTURE.md, sources/parser.y, sources/jq-manual.txt, sources/jq.test provides: filter parameters, value parameters, multiple arities, Cartesian arguments consumes: lexical variable bindings depends: func-001 acceptance: yes instructions: | Implement user-defined filter and value parameters, multiple arities, closures, callback evaluation, and Cartesian argument streams. Gate with the FUNC-002 executing selector. scope: target ## story func-003 summary: Implement function definitions, scope, and recursion. type: service kind: capability phase: 6 implements: FEATURE-Function-Definitions.md covers: FUNC-003 stack: common.md, python.md context: ARCHITECTURE.md, sources/parser.y, sources/jq-manual.txt, sources/jq.test provides: def, function redefinition, recursion, forward and self references consumes: function parameters depends: func-002 acceptance: yes instructions: | Implement definitions, lexical function scope, arity-specific redefinition, recursion, and self/forward references as specified. Gate with the FUNC-003 executing selector. scope: target ## story func-004 summary: Implement destructuring patterns and alternatives. type: service kind: capability phase: 6 implements: FEATURE-Destructuring.md covers: FUNC-004 stack: common.md, python.md context: ARCHITECTURE.md, sources/parser.y, sources/jq-manual.txt, sources/jq.test provides: array/object patterns, missing bindings, ?// alternatives consumes: function definitions and lexical bindings depends: func-003 acceptance: yes instructions: | Implement array/object destructuring, missing bindings, ?// alternatives, fallback binding behavior, and error-driven alternative selection. Gate with the FUNC-004 executing selector. scope: target ## story path-001 summary: Implement path discovery and projection. type: service kind: capability phase: 7 implements: FEATURE-Path-Discovery.md covers: PATH-001 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/builtin.jq, sources/jq.test provides: path, paths, pick, path projections consumes: destructuring and accessors depends: func-004 acceptance: yes instructions: | Implement exact and iterated path discovery, paths filtering, and pick projections while preserving path ordering and invalid-path errors. Gate with the PATH-001 executing selector. scope: target ## story path-002 summary: Implement path access and mutation primitives. type: service kind: capability phase: 7 implements: FEATURE-Path-Primitives.md covers: PATH-002 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/jq.test provides: getpath, setpath, delpaths consumes: path discovery and projection depends: path-001 acceptance: yes instructions: | Implement nested path reads, creation and replacement, deletion, array expansion, invalid path handling, and depth limits for getpath, setpath, and delpaths. Gate with PATH-002. scope: target ## story path-003 summary: Implement deletion and assignment operators. type: service kind: capability phase: 7 implements: FEATURE-Assignment-Operators.md covers: PATH-003 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/builtin.jq, sources/jq.test provides: del, =, |=, arithmetic assignments, defined-or assignment consumes: getpath, setpath, delpaths depends: path-002 acceptance: yes instructions: | Implement immutable deletion, plain and update assignment, arithmetic assignment, multi-path updates, and empty-update deletion semantics. Gate with the PATH-003 executing selector. scope: target ## story path-004 summary: Implement complex assignment edge cases. type: service kind: capability phase: 7 implements: FEATURE-Complex-Assignments.md covers: PATH-004 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/jq.test provides: iterated assignment edge cases, array expansion, invalid and deep paths consumes: deletion and assignment operators depends: path-003 acceptance: yes instructions: | Handle iterated paths, empty updates, array expansion, invalid paths, negative and NaN indices, and path/depth limits. Gate with the PATH-004 executing selector. scope: target ## story data-001 summary: Implement collection transformation builtins. type: service kind: capability phase: 8 implements: FEATURE-Collection-Transforms.md covers: DATA-001 stack: common.md, python.md context: ARCHITECTURE.md, sources/builtin.jq, sources/jq-manual.txt, sources/jq.test provides: map, map_values, select, add, flatten, transpose, combinations, walk consumes: assignment operators, generator evaluation depends: path-004 acceptance: yes instructions: | Implement collection transformation builtins and their generator, empty, recursion, and mutation semantics. Gate with the DATA-001 executing selector. scope: target ## story data-002 summary: Implement sorting, grouping, and extrema builtins. type: service kind: capability phase: 8 implements: FEATURE-Sorting-and-Grouping.md covers: DATA-002 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/builtin.jq, sources/jq.test provides: sort, sort_by, group_by, unique, unique_by, min, max, keyed extrema consumes: jq comparison and generator semantics depends: data-001 acceptance: yes instructions: | Implement sorting and grouping by jq ordering, stable keyed projections, uniqueness, and minimum/maximum variants. Gate with the DATA-002 executing selector. scope: target ## story data-003 summary: Implement object-entry and containment builtins. type: service kind: capability phase: 8 implements: FEATURE-Object-and-Containment-Builtins.md covers: DATA-003 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/builtin.jq, sources/jq.test provides: keys, keys_unsorted, has, in, inside, contains, to_entries, from_entries, with_entries consumes: jq value model and comparison semantics depends: data-002 acceptance: yes instructions: | Implement object/array key utilities, containment relations, entry conversion, and entry transformations with jq ordering and structural equality. Gate with DATA-003. scope: target ## story data-004 summary: Implement index and membership utilities. type: service kind: capability phase: 8 implements: FEATURE-Index-and-Membership.md covers: DATA-004 stack: common.md, python.md context: ARCHITECTURE.md, sources/builtin.jq, sources/jq-manual.txt, sources/jq.test provides: indices, index, rindex, bsearch, all, any, isempty, IN consumes: collection and comparison builtins depends: data-003 acceptance: yes instructions: | Implement string/array indexing, binary search, all/any short-circuiting, isempty, and SQL-style IN utilities with generator arguments. Gate with the DATA-004 executing selector. scope: target ## story text-001 summary: Implement string manipulation builtins. type: service kind: capability phase: 9 implements: FEATURE-String-Builtins.md covers: TEXT-001 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/builtin.jq, sources/jq.test provides: trimming, prefixes, suffixes, case conversion, explode, implode, split, join consumes: jq value model and generator evaluation depends: data-004 acceptance: yes instructions: | Implement trimming, prefix/suffix operations, ASCII case conversion, codepoint explode/implode, split, join, and interpolation-compatible string behavior. Gate with TEXT-001. scope: target ## story text-002 summary: Implement JSON and output format filters. type: service kind: capability phase: 9 implements: FEATURE-Output-Formats.md covers: TEXT-002 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/builtin.jq, sources/jq.test provides: tostring, tojson, fromjson, @text, @json, @html, @uri, @urid, @csv, @tsv, @sh, @base64, @base64d consumes: string manipulation builtins and JSON serializer depends: text-001 acceptance: yes instructions: | Implement JSON conversion and all required format filters, escaping, encoding, decoding, and interpolation behavior. Gate with the TEXT-002 executing selector. scope: target ## story text-003 summary: Implement regular-expression filters. type: service kind: capability phase: 9 implements: FEATURE-Regular-Expressions.md covers: TEXT-003 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/builtin.jq, sources/jq.test provides: test, match, capture, scan, splits, regex split, sub, gsub consumes: string manipulation builtins depends: text-002 acceptance: yes instructions: | Implement the standard-library regex surface required by the corpus, flags, captures, offsets, streams, splitting, substitution, and global substitution. Gate with TEXT-003. scope: target ## story text-004 summary: Implement date and time filters. type: service kind: capability phase: 9 implements: FEATURE-Date-and-Time.md covers: TEXT-004 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/builtin.jq, sources/jq.test provides: fromdateiso8601, todateiso8601, strptime, strftime, gmtime, localtime, mktime consumes: jq string and numeric values depends: text-003 acceptance: yes instructions: | Implement UTC ISO date conversion and required low-level date/time filters using the Python standard library, including supplied invalid-input behavior. Gate with TEXT-004. scope: target ## story io-001 summary: Implement input stream controls. type: service kind: capability phase: 10 implements: FEATURE-Input-Streams.md covers: IO-001 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/jq.test provides: input, inputs, input_filename, input_line_number consumes: executable JSON input boundary depends: text-004 acceptance: yes instructions: | Implement input and inputs over the fixed stdin interface and the available filename and line number metadata. Gate with the IO-001 executing selector. scope: target ## story io-002 summary: Implement diagnostics and stderr output filters. type: service kind: capability phase: 10 implements: FEATURE-Diagnostics.md covers: IO-002 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/builtin.jq, sources/jq.test provides: debug, stderr, halt_error consumes: process exit and diagnostic behavior depends: io-001 acceptance: yes instructions: | Implement debug, stderr, and halt_error channel behavior, preserving stdout values and exit status semantics. Gate with the IO-002 executing selector. scope: target ## story io-003 summary: Implement streaming transformations. type: service kind: capability phase: 10 implements: FEATURE-Streaming.md covers: IO-003 stack: common.md, python.md context: ARCHITECTURE.md, sources/jq-manual.txt, sources/builtin.jq, sources/jq.test provides: tostream, fromstream, truncate_stream consumes: generator evaluation and input stream controls depends: io-002 acceptance: yes instructions: | Implement jq streaming value representations, truncation, reconstruction, and round-trip behavior required by the corpus. Gate with the IO-003 executing selector. scope: target ## story conf-001 summary: Stage and validate immutable conformance assets. type: foundational kind: test harness phase: 1 implements: FEATURE-Conformance-Assets.md covers: CONF-001 stack: common.md, python.md context: sources/run_conformance.py, sources/jq.test, sources/exclusions.txt, sources/full_test.sh, sources/jq-manual.txt, sources/parser.y, sources/lexer.l, sources/builtin.jq provides: staged conformance corpus, exclusions, runner, scoring script consumes: none depends: architecture acceptance: yes instructions: | Stage all required sources verbatim under sources/. Validate the runner's corpus parser and exclusion application directly in Python, including complete and mutually consistent assets. Do not modify any supplied source. scope: both ## story conf-002 summary: Provide scoped conformance verification for implementation slices. type: service kind: test harness phase: 10 implements: FEATURE-Scoped-Conformance.md covers: CONF-002 stack: common.md, python.md context: sources/run_conformance.py, sources/jq.test, sources/exclusions.txt provides: executing scoped conformance gates consumes: ./jq -c program execution depends: io-003, conf-001 acceptance: yes instructions: | Ensure each implementation story invokes the supplied runner with JQ supplied through the inherited environment and a selector that executes a non-empty slice of its owned constructs. Scoped checks must assert parsed failure/error tallies and exit status, never enumerate-only modes. scope: target ## story conf-003 summary: Pass the complete jq conformance corpus. type: feature kind: test harness phase: 11 implements: FEATURE-Complete-Conformance.md covers: CONF-003 accepts: st-001 stack: common.md, python.md context: sources/full_test.sh, sources/run_conformance.py, sources/jq.test, sources/exclusions.txt provides: complete conformance release verification consumes: ./jq -c program execution depends: architecture, exec-001, exec-002, exec-003, parse-001, parse-002, parse-003, parse-004, core-001, core-002, core-003, core-004, value-001, value-002, value-003, value-004, flow-001, flow-002, flow-003, flow-004, flow-005, flow-006, func-001, func-002, func-003, func-004, path-001, path-002, path-003, path-004, data-001, data-002, data-003, data-004, text-001, text-002, text-003, text-004, io-001, io-002, io-003, conf-001, conf-002 acceptance: yes instructions: | Run the supplied sh sources/full_test.sh as the sole terminal whole-corpus acceptance. Print captured stdout and stderr for diagnosis and assert only the completed suite's successful exit status, with zero failed or errored cases as reported by the authoritative runner. scope: target === END ARTIFACT === === BEGIN ARTIFACT DECISIONS.json === [ { "id": "Q-001", "type": "choice", "severity": "material", "blueprint": "ARCHITECTURE.md", "story": "architecture", "title": "Interpreter implementation structure", "description": "The project needs a standalone jq interpreter while the sources leave the internal module structure open.", "options": [ { "value": "single-executable", "label": "Single executable script" }, { "value": "modular-python", "label": "Modular Python implementation" } ], "system_choice": "modular-python" }, { "id": "Q-002", "type": "choice", "severity": "material", "blueprint": "ARCHITECTURE.md", "story": "architecture", "title": "Numeric representation", "description": "The corpus requires jq-compatible numeric behavior, including special values and large literals, while runtime dependencies are restricted to the standard library.", "options": [ { "value": "float-only", "label": "Native floating point" }, { "value": "literal-aware-standard-library", "label": "Literal-aware numeric model" } ], "system_choice": "literal-aware-standard-library" } ] === END ARTIFACT ===