Symphony Apps Development logo — teal interlocking S monogram beside the studio wordmark
All writing

What a coding agent does with a vague ticket

We ran the same underspecified ticket through three engineers and one agent to see where the guesses landed. They did not land in the same place.

Category
AI
Reading time
6 min
Published
03 Mar 2026
Topics
AI, Claude, Process

We wanted to know, precisely, what happens to ambiguity once it reaches implementation. So we took a ticket we knew was underspecified — "add a way for admins to bulk-edit prices" — and gave it, unedited, to three engineers separately and to a coding agent, then compared the four results.

The ticket's actual gaps

It did not say what happens to a price that fails validation partway through a batch, whether the edit is logged, or whether it applies immediately or needs approval. Four competent readers, four different reasonable guesses.

What the humans did

Two of the three engineers stopped and asked. The third made an assumption, flagged it clearly in the pull request description, and moved on. None of the three silently guessed without saying so.

What the agent did

It picked the first reasonable interpretation for each gap — apply immediately, log nothing, stop the whole batch on the first failure — and wrote confident, clean code implementing exactly that. Nothing in the diff signalled that a decision had been made. The pull request read like a settled specification had been followed.

Why that difference matters more than the guesses themselves

  • A wrong guess with a flag is cheap. Someone reads it in review, corrects it, done in a comment thread.
  • A wrong guess with no flag is expensive. It looks finished. It often is finished, in the sense that it compiles and passes its own tests, which is precisely what makes it dangerous.
  • Reviewers read generated code as more authoritative than it is, an effect nobody intends and everybody is a little susceptible to.

What we changed as a result

We now ask agents, as a standing instruction, to list the assumptions they made at the top of any pull request touching an ambiguous ticket, in plain language, before the diff. It costs a paragraph and it recovers the exact signal a careful human gives for free.

The problem was never that the agent guessed. Humans guess too. The problem was that nothing told us it had.

The ticket, rewritten

We rewrote the original ticket with the three missing decisions made explicit — stop-on-first-failure, immediate application, full audit log — and reran it. All four implementations converged. The gap was never in the tool. It was in the four pages we didn't write.

Tell us what you’re trying to ship

A first call is thirty minutes and costs nothing. Bring the problem, not a spec — working out what to build is the part we are good at.

Or email office@symphonyapps.ro. We reply within one business day, in English or Romanian.