Unvalidated vendor output, capped at CONDITIONAL_RULE_ITEM_LIMIT. Never persist as-is.
Compact JSON of the first few, truncated. For reading, never for parsing.
The response path the rules came from, or null when no known path held anything.
Something WAS at a known path and was not a list of rules — the shape moved, or we guessed wrong.
Deliberately not a parsed rule type: the vendor's rule shape is undocumented and observed to drift, so
itemscarries the list untouched and the consumer normalizes tolerantly. A rule that will not parse must cost a proposal, never the detection.