🤖 Generated by the Agent Improver
Evidence. Review of the consumer port (devantler-tech/monorepo#3445) found that the reference issue/type aggregation command added by #228 accepts a node with no issueType key: in jq, .issueType==null is true for both an explicit null and an absent key, so a malformed response is counted as an untyped issue instead of failing QUERY-UNKNOWN.
Impact. Low in practice (GraphQL returns every requested field), but the rule's stated purpose is to fail closed on malformed input, and a silent "untyped" count is the fail-open shape it exists to prevent.
Expected. Each node must satisfy has("issueType"); a non-null value must be an object with a string name.
Acceptance criteria
- The reference command rejects a node missing
issueType with the malformed-input error.
- The surveyor agent test covers the missing-key case alongside the existing null/literal-
untyped cases.
- The consumer overlay copy is updated verbatim on the next rollout.
Size: small.
Evidence. Review of the consumer port (devantler-tech/monorepo#3445) found that the reference issue/type aggregation command added by #228 accepts a node with no
issueTypekey: in jq,.issueType==nullis true for both an explicitnulland an absent key, so a malformed response is counted as an untyped issue instead of failingQUERY-UNKNOWN.Impact. Low in practice (GraphQL returns every requested field), but the rule's stated purpose is to fail closed on malformed input, and a silent "untyped" count is the fail-open shape it exists to prevent.
Expected. Each node must satisfy
has("issueType"); a non-null value must be an object with a stringname.Acceptance criteria
issueTypewith the malformed-input error.untypedcases.Size: small.