Conflict Resolution

Explain It Before You Ask It

Inspired by Episode 12: All-Seeing Rubber Ducky

In Episode 12, Paul finds the bug by saying it out loud to a duck. Nova is hurt. But the duck didn’t find anything. Paul did, the moment he had to put the problem into words. That’s the trick, and it works just as well as the first line of a prompt.

Duck first, prompt second

  1. Say what should happen. One sentence. “Loading a user by ID returns the user.”
  2. Say what does happen. One sentence, with the real output. “It returns null for ID 42, which exists.”
  3. Say where you’ve looked. “The repository call returns a row; the null appears after the mapping step.”
  4. Say your hypothesis. “I think the null check on line 12 fires on a valid user.”

Half the time you solve it at step 3, like Paul. The other half, you now have a prompt that gives the assistant something to work with instead of a vague feeling that it’s broken.

Prompt to steal

Expected: GetUserAsync(42) returns the user.
Actual: it returns null. The row exists (checked in the DB).
Where it goes wrong: _repo.FindAsync(42) returns a user; the method still returns null.
My hypothesis: the `if (user == null)` check at line 12 is wrong, or something
reassigns `user` before the return.

Confirm or refute my hypothesis from the code. Don't propose a fix until you have.

Want the full routine? This week’s Hint of the Week turns the duck into a five-minute written protocol you run before every bug prompt.

More lessons from Episode 12

Paul’s Desk · Affiliate picks

Paul’s Desk

Gear for the fix.

As an Amazon Associate, Commits and Conflicts earns from qualifying purchases.

All of Paul’s Desk ›