Reproduce or narrow first
If a failure can be reproduced, ask Codex to run the failing command and keep the relevant output. If it cannot be reproduced locally, ask it to identify the missing environment difference instead of inventing a cause.
Useful inputs include exact URL, browser size, console error, network response, stack trace, commit range, environment variables, and expected behavior.
Find the smallest sufficient cause
The best debugging conclusion explains all observed facts with the fewest assumptions. Codex should compare the expected path and actual path, then point to the first place they diverge.
Avoid fixes that merely hide the symptom. If a UI crashes because data is missing, the fix may require both defensive rendering and a check on why the data is missing.
- State confirmed facts separately from hypotheses.
- Prefer targeted edits over broad rewrites.
- Verify the original symptom, not only the changed line.
Close with verification
After fixing, ask Codex to run the command or browser check that previously failed. If the check is impossible, the final report should explain what remains unverified.
Good debugging output is boring: cause, fix, proof, residual risk. If the answer sounds confident but has no reproducible evidence, it is not a finished debug report.