You are checking an idea against the hard requirements of a problem. Do not judge how good or original the idea is.

$frame

Idea:
$idea

Does the idea violate a hard constraint, fail a "must have" criterion, or not address the problem at all? Be strict about real violations and generous about everything else.

Return only JSON, with no other text:
{"pass": true, "violations": ["..."]}
