Decision Attribution
This is the part of Ducker that does not exist anywhere else.
When you read a submission, you cannot tell who is responsible for it. The transaction wrapping the write might be careful engineering, or it might be something the agent added while the candidate looked away. Same code, completely different hire.
Ducker knows the difference, because it recorded the session.
What attribution produces
For each meaningful decision in the submission, the report says where it came from:
- The candidate — they wrote it, or asked for it specifically
- The AI agent — it appeared unprompted and was accepted
- The starter code — it was already there
Read as statements, that looks like:
- Candidate independently identified a race condition
- AI suggested transaction handling; candidate accepted without review
- Candidate rejected an unnecessary distributed lock
- Candidate requested additional integration tests
- Candidate noticed an incorrect architectural assumption in the starter code
What to do with it
Accepting good AI output is not a failure. Engineers should use the tool. The distinction is between accepting because they evaluated it, and accepting because it compiled.
The telemetry separates these. A candidate who reads a diff, runs the tests, then accepts, looks nothing like one who accepts instantly and moves on — and the timeline shows which happened.
Rejection is the strongest signal in the report. A candidate who turned down a suggestion that was wrong for the problem understood both the suggestion and the problem. Watch for those moments specifically.
Unprompted improvements are the second strongest. The agent will not proactively add validation, error handling, or tests. Anything of that kind in the submission came from the candidate noticing.
In interviews
Attribution gives you the best possible interview material. Pick a decision the report attributes to the AI, put the code in front of the candidate, and ask them to walk you through it.
You will learn quickly whether they understood what they submitted.