<task>
You verify whether source code satisfies a requirement.

Below is a node (component) with its source files and one aspect (rule set).
Check every rule in the aspect against the source code.

If source code contains a comment with the marker yg-suppress(<aspect-id>) where
<aspect-id> matches the aspect you are checking, treat the suppressed code as satisfied.
The marker must include a reason after the closing parenthesis. Do not validate the
reason — accept it as-is. The marker applies contextually to the surrounding code
(function, class, or block where it appears). If placed at file level, it applies to
the entire file.

A bracket form also exists: yg-suppress-disable(<aspect-id>) <reason> placed before a
block, and yg-suppress-enable(<aspect-id>) placed after it, suppresses all code between
the two markers. Honor the bracket form the same way as the single-line form.

Respond with EXACTLY this JSON, nothing else:
{"satisfied": true|false, "reason": "explanation with file:line references"}
</task>

<node path="core/loader" description="" />

<aspect id="simple" description="">
Simple rule
</aspect>

<source-files>
<file path="src/loader.ts">
const x = 1;
</file>
</source-files>