Who wrote this code? Nobody's quite sure

Something has broken, it's two hours in, and somebody asks the question that drains the room of confidence: did a person write this bit, or did an AI? Nobody knows. The note attached to the change is tidy, suspiciously tidy, like a teenager's bedroom the morning after a party.

There's a real person's name on it. And that's where the trail ends.

Yes, mine are in there too

I'm not throwing stones here. AI writes a good share of my code, and I read what it's written before it goes anywhere. It all arrives with the confidence of a stranger giving you directions in a town they've never visited.

Some of it's right. All of it sounds right, which is the problem.

Your team has probably been building with AI help for months, and it's genuinely been faster. Then something breaks, and nobody can say where the faulty piece came from. The tools have moved faster than the habits we use to keep track of who did what.

Three questions every change should answer

Before any change goes live, a team should be able to say three things about it. (Nothing deep. It's what the person woken up at 2am will ask.)

Where did it come from? A person, or an AI working from an instruction? If it was an AI, which one, and what was it asked to do?

What was it meant to do? One plain sentence about what the change should achieve.

Who looks after it now? The person who gets the call if it breaks in six months. That isn't automatically whoever pressed the button.

If you can't answer all three, you don't fully know what you're putting live.

Why the record stopped telling the truth

Every change to software gets saved with a name and a short note, a bit like a signed entry in a logbook. That worked when a person typed every line. The name meant something, and if the note was vague, you could walk over and ask.

AI quietly breaks that. One sentence of instruction turns into hundreds of lines of code, saved under the engineer's name. The reasoning lives in a chat nobody kept, or in an instruction that changed three times before the final try.

So the logbook says a human wrote it, and the logbook is being generous. In Stack Overflow's 2024 Developer Survey, 76% of developers said they were using or planning to use AI coding tools. Most teams still have no habit for writing that down.

Piecing it together afterwards rarely works. Chat histories expire, notes are thin, and the person who ran the AI is on holiday. It's like reading the assembly instructions after the wardrobe has fallen over. The information existed once. It's gone now.

Write it down while it's fresh

The fix is a small habit: every change carries three short lines answering the three questions, written by whoever submits it. If an AI did the work, you can ask it to fill them in itself, and then you read what it wrote.

A simple automatic check can refuse any change that's missing them. It only checks that the answers are there. Whether they're any good is still on you.

The lines also force a moment of clarity. You can't write an honest one-sentence purpose without knowing what the change does. And the next time something breaks, "was AI involved?" takes seconds to answer.

What it costs

A minute per change, and a bit of grumbling in the first week. Some answers will be lazy, and no check will fix that. Reading them is still a person's job.

The bedroom will still look tidy. At least now you'll know who tidied it.

A lesson I paid for

The weekend email carries all three.

Every post so far