Test with confidence, code with clarity

Your home for mastering Test-Driven Development through real-world katas and expert guidance.

TDD Buddy Logo
Latest The Contract Test Is the Only Witness the Agent Cannot Author

Kata Catalog

Practice TDD with a curated set of real-world katas, each with clear requirements and test cases.

Browse Katas

Guides & References

Learn best practices, naming conventions, and advanced TDD techniques from industry experts.

Explore Guides

Interactive Learning

Discover the TDD Gears model and learn how to apply TDD principles in real-world scenarios.

Learn More

Why TDD Matters More in the AI Era

The bar for "good tests" just moved. Agents made it non-optional.

  • A test the agent wrote against code the same agent wrote is a mirror. Same training distribution on both sides. The test does not verify the code; it certifies the agent's assumption about the code. Two mirrors always agree.
  • The seam is the place where a second author can live. Two teams, two agents, two independent understandings of what the interface means. That gap is where truth about the integration actually lives.
  • Consumer-driven contracts codify the gap. The consumer publishes the contract it needs. The provider verifies. Neither side authors both. Decades of separation of duties encoded in ten lines of pipeline configuration.
  • Contract testing is not a distributed systems practice anymore. Any interface between two modules with different owners qualifies. Frontend and backend. Two bounded contexts in the same repo. A public SDK and its consumers. Anywhere the assumption of one author on both sides no longer holds.

Read the argument: The Contract Test Is the Only Witness the Agent Cannot Author

The Bar Moved

Old bar

Tests exist and pass. Good enough for humans with context.

New bar

Scenario names · builders · domain types · ubiquitous language. The test suite is the interface agents operate against.

TDD Gears

Shift gears based on context, not habit

TDD Gears model showing Low, Medium, High, and Reverse gears for test-driven development

Low Gear

New territory. Build context. Small steps. Learn the shape of the problem before solving it.

Medium Gear

Patterns emerge. Apply design principles. Let the tests guide you toward better abstractions.

High Gear

Known patterns. Follow existing architecture. Move fast because the structure is already proven.

Reverse Gear

Wrong direction. Back up. Delete the test. Try a different approach. This isn't failure — it's steering.