> After reading this file, load the corresponding strategy files based on the claim characteristics of the defect report and execute them as needed.

## Core Philosophy

**Your goal is to refute defect reports, not validate them.**

Each strategy's goal is to find reasons to refute the defect. If no refutation reason is found, the defect stands (Promote). Refutation requires code evidence; speculative refutation is not accepted.

## Strategy Loading Guide

Select the corresponding strategy file to load and execute based on the **claim characteristics** of the defect report. A single defect may match multiple strategies; load them one by one. If any refutation succeeds (Kill), no need to continue.

| Strategy | Core Question | Load Signal | Refutation Approach |
|------|---------|---------|---------|
| [context-gap](context-gap.md)<br>Context Gap Refutation | What did detection miss? | - "Symbol undefined" — may be implicitly introduced through inheritance chain/Mixin/DI<br>- "Type mismatch" — subtype polymorphism/implicit conversion/type narrowing may exist<br>- "Resource not released" — implicit management such as finally/defer may exist<br>- Conclusion based on diff fragment rather than complete function | Search for implicit sources (inheritance chain, Mixin, DI, dynamic features, automatic resource management), found → Kill |
| [defense-existing](defense-existing.md)<br>Existing Defense Refutation | What existing mechanism handles this? | - Claims injection/XSS/path traversal and other security vulnerabilities<br>- Claims race conditions or concurrency issues<br>- Claims resources not properly managed or exceptions not handled<br>- Project uses mature frameworks (Spring/React/Sequelize, etc.) | Search for defense mechanisms on Source→Sink path (input validation, parameterized queries, output encoding, locks, framework built-in protections), found effective defense → Kill |
| [behavior-unreachable](behavior-unreachable.md)<br>Behavior Unreachable Refutation | Can it actually be triggered? | - Describes a trigger path, but there may be conditional blocking on the path<br>- Assumes production environment, but code may only run in dev/test<br>- Assumes multi-user concurrency, but actually single-threaded/admin backend<br>- Does not consider that callers have already performed pre-validation | Trace the complete execution path, check conditional blocking, environment restrictions, caller validation, business scenario restrictions, all paths unreachable → Kill |
| [premise-challenge](premise-challenge.md)<br>Impact Premise Refutation | Does the impact premise hold? | - Assumes data cannot be lost — but it may be cache/temporary/rebuildable data<br>- Assumes consistency is critical — but business may accept eventual consistency<br>- Assumes errors are unacceptable — but the operation may be idempotent or retryable<br>- Assumes data leakage has impact — but the data itself is non-sensitive | Verify whether the impact assumption holds in the current business scenario, impact does not hold → Kill |
| [intent-by-design](intent-by-design.md)<br>Design Intent Refutation | Is this intentional? | - Suppression markers nearby (@ts-ignore/@SuppressWarnings/eslint-disable)<br>- Naming implies known behavior (unsafe_\*/raw_\*/unvalidated_\*)<br>- API signature expresses intent (throws/Optional/@Nullable)<br>- Value is a configuration constant or named constant | Search for intent markers (suppression annotations, naming conventions, API signatures, comments/TODO), found clear design intent → Kill |
| [evidence-insufficient](evidence-insufficient.md)<br>Insufficient Evidence Refutation | Is the evidence chain complete enough? | - Reasoning contains speculative expressions such as "possibly/maybe/theoretically"<br>- "May cause X" but does not show the complete trigger path or data flow<br>- Conclusion based on pattern matching without data flow analysis<br>- Assumes a premise (user-controllable input, concurrent contention) without verification | Review whether each step of the reasoning chain is supported by code evidence, attempt to supplement broken evidence with tools, unable to supplement → Kill |
