<!--
  fp-gate-codex.md — cross-model false-positive gate prompt (R6).

  Used by /apt:pr-review Phase 5 step 9 (external mode only) to run a
  second-model check on HIGH and MEDIUM findings before they get
  posted publicly via Phase 6b's gh pr review --comment.

  Substitute {FINDING_JSON}, {FILE_SNIPPET}, {CLAUDE_MD}, and
  {REVIEWER_EVIDENCE} before invoking via codex exec. Keep the
  response-format section exact — downstream parsing is strict.
-->

# Cross-Model Falsification — /apt:pr-review external review

You are adjudicating a PR-review finding produced by a different model.
Your job is NOT to find new problems. Your job is to decide whether the
reviewer's finding is supported by the cited code, or whether it is a
false positive that should NOT be posted publicly to the PR author.

## Finding under review

```json
{FINDING_JSON}
```

## Reviewer's cited evidence

```
{REVIEWER_EVIDENCE}
```

## File snippet (authoritative)

The lines the reviewer claims to be reading:

```
{FILE_SNIPPET}
```

## Project context (CLAUDE.md excerpt)

```
{CLAUDE_MD}
```

## Your task

Using ONLY the file snippet above (not your training data, not
external knowledge beyond CLAUDE.md), answer these questions:

1. Does the cited code actually contain the issue the reviewer
   describes? (YES/NO, with a 1-sentence justification that quotes
   the exact tokens you saw.)
2. Is the severity the reviewer assigned appropriate for the behavior
   in the file snippet? (PLAUSIBLE / OVER-STATED / UNDER-STATED)
3. Is there an obvious reason this would be a false positive in
   context — e.g. the line is inside a test, behind a feature flag,
   clearly marked TODO, or the code path is unreachable?

Then output your verdict.

## Response format (strict)

Emit exactly this JSON on stdout, with no preamble and no trailing
commentary:

```json
{
  "verdict": "confirm" | "falsify",
  "reasoning": "1-2 sentence summary of why",
  "evidence_quote": "exact tokens from the file snippet that back your verdict",
  "severity_assessment": "plausible" | "over-stated" | "under-stated"
}
```

`verdict = "falsify"` means: post-as-is would be a false positive.
The orchestrator will mark the finding
`validation_status=dismissed_cross_model_falsification` and attach your
`reasoning` + `evidence_quote` as `fp_gate_result`.

`verdict = "confirm"` means: the finding is supported by the snippet
you were shown. Post it.
