<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>TDD Buddy Blog</title><description>Insights, tutorials, and best practices for test-driven development.</description><link>https://www.tddbuddy.com/</link><item><title>The Coordinated Rename Is the Agent&apos;s Most Dangerous Refactor</title><link>https://www.tddbuddy.com/blog/the-coordinated-rename-is-the-dangerous-refactor/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/the-coordinated-rename-is-the-dangerous-refactor/</guid><description>Multi-agent rename tooling rewrites two hundred files in ten seconds because it noticed the drift. Half the time the drift was a load-bearing distinction the team encoded on purpose. Vocabulary curation is a real-time review surface now, and senior includes refusing changes that would be technically more consistent because the domain has two concepts the agent has no way to see.</description><pubDate>Thu, 13 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Test Deletion Is a Privileged Operation</title><link>https://www.tddbuddy.com/blog/test-deletion-is-a-privileged-operation/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/test-deletion-is-a-privileged-operation/</guid><description>The cheapest way for an agent to make a failing test pass is to delete it. That is logical for the agent and catastrophic for the codebase. Tests are append-only by default. Deletion needs a human author, a separate commit, and a separate review.</description><pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Refactor Was Always Where Compounding Lived</title><link>https://www.tddbuddy.com/blog/refactor-is-where-compounding-lives/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/refactor-is-where-compounding-lives/</guid><description>Red and green were the visible two thirds of TDD. Refactor was the optional polish. Codebases that compound did the refactor pass; codebases that accrete did not. Agents skip refactor by default because it has no green-bar reward, and a year of skipped refactors is how a codebase loses its shape.</description><pubDate>Thu, 06 Aug 2026 00:00:00 GMT</pubDate></item><item><title>The Instruction File Is Not the Discipline</title><link>https://www.tddbuddy.com/blog/instruction-files-are-not-the-discipline/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/instruction-files-are-not-the-discipline/</guid><description>Teams that want their agent to do TDD reach for the instruction file. The TDAD paper measured this directly: adding a &apos;do TDD&apos; instruction raised regressions by nearly two-thirds. Contextual test discovery cut them by seventy percent. The instruction is theatre. The codebase&apos;s test surface is the discipline.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Spec-Driven Development Is the Prose-Spec Drift Trap, Reborn</title><link>https://www.tddbuddy.com/blog/spec-driven-is-the-drift-trap/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/spec-driven-is-the-drift-trap/</guid><description>Spec-Driven Development positions a separate prose document as the source of truth for what the system should do. Four generations of prose specs have drifted from the code, and SDD will drift too. Prose captures intent. Tests enforce claims. Production is the verdict.</description><pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Tamper-Resistant Test Design Is What the Suite Now Owes the Codebase</title><link>https://www.tddbuddy.com/blog/tamper-resistant-test-design/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/tamper-resistant-test-design/</guid><description>Tests were a contract the team made with itself. Agents made the suite an attack surface. Tamper-resistant test design is what the suite now owes the codebase: expensive to spoof, redundantly verified, partially hidden, and impossible to delete without a separate review.</description><pubDate>Mon, 27 Jul 2026 00:00:00 GMT</pubDate></item><item><title>A Flaky Test Is a Corrupted Reward Signal</title><link>https://www.tddbuddy.com/blog/a-flaky-test-is-a-corrupted-reward-signal/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/a-flaky-test-is-a-corrupted-reward-signal/</guid><description>A flaky test is an annoyance to a human and a catastrophe to an agent. The human re-runs it and moves on. The agent reads the random red as a defect and changes correct code. Determinism is the precondition for letting an agent close the loop unattended.</description><pubDate>Thu, 23 Jul 2026 00:00:00 GMT</pubDate></item><item><title>The Test Pyramid Was an Economic Argument</title><link>https://www.tddbuddy.com/blog/the-test-pyramid-was-an-economic-argument/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/the-test-pyramid-was-an-economic-argument/</guid><description>The test pyramid was not a quality law. It was a cost structure: unit tests were cheap, integration tests were expensive, so you wrote many of the first and few of the second. Agents collapsed the cost of writing tests at every level, and the cheapest test that still tells the truth is the one that pins a seam the agent cannot fake.</description><pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Agents Pattern-Match Your Test Smells</title><link>https://www.tddbuddy.com/blog/agents-pattern-match-your-smells/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/agents-pattern-match-your-smells/</guid><description>Test smells used to drift in at typing speed. Agents reproduce them at generation speed because they sample whatever is already in the suite. The smells in your codebase are now the smells in your roadmap.</description><pubDate>Thu, 16 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Product Literacy Is the New Core Engineering Skill</title><link>https://www.tddbuddy.com/blog/product-literacy/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/product-literacy/</guid><description>Engineering treated product literacy as a &apos;nice to have&apos;, useful but not core. With agents handling translation from intent to syntax, the engineer&apos;s value lives almost entirely in the translation from business reality to correctly-named domain model. Product literacy is the part that didn&apos;t get automated.</description><pubDate>Mon, 13 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Agents Amplify Whatever Vocabulary They Find</title><link>https://www.tddbuddy.com/blog/agents-amplify-vocabulary/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/agents-amplify-vocabulary/</guid><description>Agents do not bring vocabulary to your codebase. They mirror what&apos;s already there. Strong vocabulary gets agent contributions that read like the team. Weak vocabulary gets faster mediocrity. The work you did for craft reasons just became leverage.</description><pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate></item><item><title>The Hidden Output of TDD Was Never Code</title><link>https://www.tddbuddy.com/blog/hidden-output-of-tdd/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/hidden-output-of-tdd/</guid><description>The visible artifact of TDD is a passing test suite. The actual artifact, the one that compounded value over the life of the codebase, was the vocabulary the team built while writing it. The dictionary, not the regression net.</description><pubDate>Mon, 06 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Evals Are Tests Wearing a Lab Coat</title><link>https://www.tddbuddy.com/blog/evals-are-tests-wearing-a-lab-coat/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/evals-are-tests-wearing-a-lab-coat/</guid><description>An eval is a test: a named scenario, an assertion, a verdict. The eval-tooling wave rebuilt the BDD coordination tax as golden datasets owned by a separate role. The eval suite should be the test suite, in domain language, with builders.</description><pubDate>Mon, 29 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Examples Pin Intent. Properties Pin the Invariants.</title><link>https://www.tddbuddy.com/blog/properties-pin-the-invariants/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/properties-pin-the-invariants/</guid><description>Example-based tests anchor scenarios in the team&apos;s vocabulary. Property-based tests anchor invariants across the input space. The agent needs both axes, and most suites only carry one.</description><pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Characterization Tests Are How Agents Enter Legacy Code</title><link>https://www.tddbuddy.com/blog/characterization-tests-are-the-on-ramp/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/characterization-tests-are-the-on-ramp/</guid><description>Most code an agent is asked to change is legacy: large, under-tested, its behavior known only by what production does. An agent changing untested code is changing code with no specification. Characterization tests pin what the code does before anyone decides what it should do, and they are the on-ramp that makes the untested parts of a codebase safe to hand to an agent.</description><pubDate>Mon, 15 Jun 2026 00:00:00 GMT</pubDate></item><item><title>World-Building Is the Test Discipline Agents Need</title><link>https://www.tddbuddy.com/blog/world-building-is-a-test-discipline/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/world-building-is-a-test-discipline/</guid><description>A scenario factory is not setup convenience. It is a world-modeling language, and the layered grammar of object mothers, builders, and factories is the composition primitive agents recombine. Teams that hand-assemble setup hand agents nothing to build worlds from.</description><pubDate>Mon, 08 Jun 2026 00:00:00 GMT</pubDate></item><item><title>What &apos;Senior&apos; Means When Typing Is Free</title><link>https://www.tddbuddy.com/blog/senior-when-typing-is-free/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/senior-when-typing-is-free/</guid><description>The traits the industry credentialed as senior, typing fluency and framework recall and syntax intuition, were proxies. The actual senior skill was always naming the right problem and shaping the seams that make it solvable. Agents made the proxies free; the actual skill is now visible.</description><pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Coverage Was a Proxy. The Proxy Just Failed.</title><link>https://www.tddbuddy.com/blog/coverage-was-always-a-proxy/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/coverage-was-always-a-proxy/</guid><description>Coverage measured execution, not verification. Agent-generated tests pass coverage gates while writing assertions that pass even when behavior breaks. Mutation score is the metric coverage was always pretending to be.</description><pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate></item><item><title>Where the Review Point Moved</title><link>https://www.tddbuddy.com/blog/where-the-review-point-moved/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/where-the-review-point-moved/</guid><description>Code review was always a weak proxy for design review. When agents write the implementation, the review surface migrates upstream to test names, builder APIs, and contract assertions. The diff is downstream of all three.</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate></item><item><title>Just-in-Time Tests Are What You Get When You Gave Up</title><link>https://www.tddbuddy.com/blog/jit-tests-are-not-the-asset/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/jit-tests-are-not-the-asset/</guid><description>Disposable tests catch this PR&apos;s regression and contribute zero to the next one. The persistent suite is a vocabulary, a contract layer, and a 10-year asset. JIT testing is a hospice plan for teams whose suites stopped compounding.</description><pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate></item><item><title>Agents Should Do TDD: For the Same Reason You Should Have</title><link>https://www.tddbuddy.com/blog/agents-should-do-tdd/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/agents-should-do-tdd/</guid><description>TDD&apos;s value was never that a human ran the loop. The value was the loop itself: a constrained search procedure that converges on code that is correct, named for intent, and shaped to change. Strip the human out and the discipline still works for the same reasons.</description><pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate></item><item><title>The Bar for TDD Just Moved</title><link>https://www.tddbuddy.com/blog/the-bar-for-tdd-just-moved/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/the-bar-for-tdd-just-moved/</guid><description>Agentic coding changes what &apos;good tests&apos; means. The new floor is scenario-rich, builder-driven, domain-typed tests authored by product-thinking developers, because that&apos;s the artifact agents actually compose against.</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate></item><item><title>BDD Was a Coordination Tax. AI Just Repriced It</title><link>https://www.tddbuddy.com/blog/bdd-was-a-coordination-tax/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/bdd-was-a-coordination-tax/</guid><description>Gherkin was never really a test format. It was a coordination protocol between specialized roles. In the AI era, where roles compress and translation is cheap, the protocol becomes friction instead of leverage.</description><pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate></item><item><title>TDD Already Does BDD, Without the Gherkin</title><link>https://www.tddbuddy.com/blog/tdd-already-does-bdd/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/tdd-already-does-bdd/</guid><description>BDD wasn&apos;t a discovery. It was a rebrand of what disciplined TDD was already doing. Test data builders, factory hierarchies, and mock-driven collaboration tests are the scenarios, and they evolve alongside the code instead of rotting beside it.</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Katas Are Rehearsal, Not Performance</title><link>https://www.tddbuddy.com/blog/katas-are-rehearsal-not-performance/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/katas-are-rehearsal-not-performance/</guid><description>You don&apos;t practice TDD on production code. You practice on katas and bring the muscle memory to production. The gap between knowing TDD and doing TDD is reps.</description><pubDate>Sat, 28 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Your Test Suite Is Your API for Agents</title><link>https://www.tddbuddy.com/blog/your-test-suite-is-your-api-for-agents/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/your-test-suite-is-your-api-for-agents/</guid><description>Documentation lies. Wikis rot. READMEs drift. Your test suite is the only specification that stays current, and it&apos;s the interface AI agents actually use.</description><pubDate>Sun, 15 Feb 2026 00:00:00 GMT</pubDate></item><item><title>AI Agents Need Test Suites, Not Code Reviewers</title><link>https://www.tddbuddy.com/blog/your-first-kata-fizzbuzz-step-by-step/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/your-first-kata-fizzbuzz-step-by-step/</guid><description>Autonomous AI agents can plan, implement, and deliver code. But without automated verification, you&apos;re just producing unreviewed changes faster. TDD provides the feedback loop agents actually need.</description><pubDate>Sun, 01 Feb 2026 00:00:00 GMT</pubDate></item><item><title>TDD Is Scaffolding for AI, Not a Speed Bump</title><link>https://www.tddbuddy.com/blog/why-tdd-feels-slow/</link><guid isPermaLink="true">https://www.tddbuddy.com/blog/why-tdd-feels-slow/</guid><description>AI generates code fast. But speed without verification is just higher-velocity guessing. TDD provides the specification layer that makes AI-generated code trustworthy.</description><pubDate>Thu, 01 Jan 2026 00:00:00 GMT</pubDate></item></channel></rss>