Dako's AI Builder Notes
System
Color theme
Changsha HubOffline
大可 Dako
大可 Dako大可 DakoAI Builder · Agent PractitionerTurning AI into working software. Practical notes on agent engineering, vibe coding, and commercial delivery.
Platform links coming soon
Define done first, and make it machine-checkableDefineWhat to do, and how farCheckabletests green, artifact present, clean diffAcceptaccept on evidence, not on feelThe more machine-read the standard, the harder to fool
The more machine-readable the standard, the less acceptance relies on vibes.

Define Done First, and Make It Machine-Checkable

Say what counts as done before you start, and prefer things a machine can check: tests green, artifacts present, clean diff.

A lot of vibe coding falls apart like this: AI finishes and says "done," you look and it's way off, so you fix it; then AI says "done" again, and again it's way off—you've become the tester. The fix is one thing: don't wait until it's done to set the standard; define "done" first and have AI work toward it. anthropic-sdlc

After reading, you should be able to answer:

  • Why must "how far counts as done" be said before starting?
  • What do machine-checkable done criteria actually look like?
  • How do you avoid being fooled by "it's done"?

How specific should done be

"Done" alone is useless; make it verifiable:

  • What the feature should look like when open, and what the user can do
  • Which cases must pass, written as tests
  • Which boundaries are out of scope, written into the not-doing list

The more specific the standard, the less AI drifts, and the less time acceptance takes.

Machine-checkable done criteria

What can go into tests, builds, and scripts shouldn't rely on talk:

Criterion How to check
Feature behaves correctly tests pass
It builds and runs build succeeds, artifact present
It didn't break something else old tests still green, clean diff
No obvious problems review + static check pass

These are evidence of "done or not," not the mouth of "AI says it's done."

How to accept without being fooled

The acceptance mantra: look at the evidence, not the claim. "It's done" is only a claim; what you want is evidence—test output, build logs, artifact path, and diff content vibe-report.

  • Have AI run the tests and paste the output
  • Have AI give you the artifact path and confirm it exists
  • Go through the diff item by item, especially files AI changed that you didn't authorize

Across systems and teams there is one more layer: "operation succeeded" only means the command was issued. Acceptance evidence must come from the system that owns the resource, judged by what the user ends up seeing — who produces the evidence and how it is counted: The Organization Is the Human Harness.

"Define done first, and make it machine-checkable" is what makes "manage the intern" actually land in vibe coding. With the standard set, lock the rules into a project file so AI stays in line: the AGENTS project contract.

References

  1. The AI-Native SDLC Playbook (Anthropic)
  2. The Vibe Coding Report 2026