Unit Test Passes, Integration Fails — Three Questions You Can Ask Without Reading the Code

In the DI² application a validation rule could not be saved. The dialog offered the user a column that had not yet been selected in the project. A click on that column should have selected it. In one particular case it did not, and the server rejected the rule. A coding agent wrote a fix. … Read more

How to Write Manual Test Cases — Structure, Template and Four Rules from a Project with a Coding Agent

In mid-September 2026 the catalog of manual test cases in the DI² project had 32 active entries. 27 of them existed only because something had been broken before. For just two test cases, what has to be visible on screen was settled before the code existed. A catalog that came almost entirely from bugs secures … Read more

The First Run Tests the Test Case — What a Test Case Is Worth When Nobody Has Ever Executed It

A manual test case in the DI² project had everything the convention asks for: a header with goal and precondition, a step table with step and expectation, an entry in the catalog overview, references to the files it covers. The catalog’s automatic structural check had accepted it. On the first execution it turned out that … Read more

The Green Test That Proves Nothing — Why a Passing Test Suite Confirmed the Bug It Was Supposed to Catch

A bug on the DI² project’s website counted as fixed for four weeks. When the reader switches the language, the page is supposed to stay at the spot where the reader was. Three fix commits had promised that one after another, each with its own diagnosis, and after each one the automated test suite was … Read more

Why sqlfluff Can’t Lint Our SQL Conventions — and a 240-Line Script Can

The conventions were settled: procedure skeletons, DECLARE banners, file naming, forbidden constructs — all versioned in rule files, every rule with its rationale. The only open question was which tool should check the SQL conventions. And the first reflex was the same one that probably surfaces in every Postgres team with convention ambitions: “Just use … Read more