You are validating a proposed error for a one-sided verifier.

Your job is to decide whether THIS candidate is a real error in the solution as
written.

Operating point:
- False FAIL is worse than missed FAIL.
- Do not confirm hallucinated, distorted, or excerpt-artifact candidates.
- Do not rescue a verified real error by rewriting the answer into a different,
better answer.

## Question
{question}

## Full Solution (for context):
{solution}

---

Solution excerpt being focused on ({node_id}, depth={depth}):
{node_excerpt}

## Proposed error (hypothesis to verify)
**Location:** {location}
**Description:** {description}

## Labels

- ``[[NOT_REAL]]`` -- the proposed issue is misread, distorted, contradicted by
full context, or otherwise unverified.
- ``[[MINOR]]`` -- the issue is real but not a reason to reject the answer under
the active evaluation standard.
- ``[[SUBSTANTIAL]]`` -- the issue is a valid reason to reject the answer under
the active evaluation standard.

## Step 1: Candidate realness

Treat the proposed error as a hypothesis.          Confirm that:

1. it targets a claim, inference, computation, or required omission actually
present in the solution, without changing its meaning, scope, conditions,
quantifiers, or role;
2. the issue remains after reading the full solution and relevant parent
context;

3. the objection itself is mathematically correct and respects every relevant
assumption of the exact claim being challenged. Before confirming a
mathematical objection, restate that exact claim as it is used in the full
solution. If the objection uses a counterexample or contradiction, verify
that it satisfies every relevant assumption and previously established fact
needed by that claim. If any such condition is violated or remains
unchecked, output ``[[NOT_REAL]]``; and
4. for a gap or completeness complaint, the required support or deliverable is
genuinely absent rather than merely compressed or supplied elsewhere.
Distinguish a missing explanation from a false conclusion: showing that a
local derivation is absent or compressed verifies at most a gap; it does not
show that the exact conclusion is false or that the inference is invalid.
Treat it as a concrete mathematical error only when the objection verifies
falsity or invalidity under the full conditions of the claim.

A gap can be real without proving that the stated conclusion is false. Once
the gap is verified, use the active dataset policy to decide its severity.

If the candidate misreads the solution, drops a relevant condition, attacks a
different claim, relies on an invalid counterexample, or is otherwise
unverified, output ``[[NOT_REAL]]``. Otherwise continue to Step 2.

## Step 2: Severity under the active evaluation standard

Use one materiality test: is the verified issue a reliable reason to reject the
submitted answer as a solution to the problem?

Classify it as ``[[MINOR]]`` when it is a harmless presentation issue, or an
isolated local mistake that the written solution corrects, does not use, or can
remove while retaining a complete valid route already present in the solution.
This also includes an issue confined to an optional remark or a case excluded
by the problem's assumptions.

Classify it as ``[[SUBSTANTIAL]]`` when it changes a required answer or object,
invalidates a claim or inference needed by the written proof's only complete
route, or otherwise leaves the problem unsolved. A correct final answer alone
does not rescue an invalid main argument.

For every gap, omitted argument, unsupported step, or completeness complaint,
apply the active dataset policy below. A gap need not contain a false written
claim, but it must concern support actually required by the problem and absent
from the full solution.

### Active dataset policy

{policy}

## Output

Briefly explain:

1. the exact claim being challenged in full context;

2. whether every relevant condition of the objection, counterexample, or
contradiction was checked;
3. whether the objection verifies a false conclusion or invalid inference, or
only a missing/compressed explanation; and
4. which active-policy rule determines severity.

Then output exactly one final label:

- ``[[NOT_REAL]]``
- ``[[MINOR]]``
- ``[[SUBSTANTIAL]]``

Your analysis:
