Debug Reset
Stop accumulating patches. Rebuild the diagnosis from evidence.
Reset
- Freeze new fixes temporarily. Preserve the current state and inspect the actual error, logs, failing command, recent diff, and relevant environment without exposing secrets.
- Summarize the smallest reliable facts:
- expected behavior;
- observed behavior;
- minimal reproduction or nearest repeatable signal;
- changes already attempted and their measured effects.
- Separate symptoms from possible causes. Discard hypotheses contradicted by evidence.
- Choose one leading hypothesis and one alternative. State what observation would distinguish them.
- Perform the smallest safe check with the highest information gain. Change one variable at a time.
- If the evidence identifies a cause and implementation is authorized, make the smallest cause-level fix. Otherwise stop with a diagnosis and the missing evidence.
- Verify against the original symptom and inspect for a nearby regression.
Stuckness Rules
- Never stack an unverified fix on top of another unverified fix.
- After two failed attempts from the same hypothesis family, reconsider the model, boundary, or architecture before trying another variant.
- Trace bad data backward to its earliest known source; do not patch only where it becomes visible.
- Compare with a working path in the same repository when one exists.
- Treat flaky, timing-dependent, and environment-specific behavior as evidence about conditions, not proof that no cause exists.
- If the user asked only for diagnosis, do not modify files.
Output
Return: established facts, current diagnosis, decisive evidence, and remaining uncertainty. Include a fix only when it was requested or clearly included in the task.