Posts about Software quality

tsc looked at my templates and saw a nice string.

Templates are strings, so tsc cannot see a typo in them. Angular and vue-tsc can. npx @relax.js/core check closes most of that gap by resolving every template…

How do you know the agent isn't quietly rotting your codebase?

Agent-written code passes review and still erodes a system. Four mechanisms in Kiwipow Agent that answer it with evidence rather than with trust.

How an agent verifies a webpage it can never look at

mount, flush, fakeServer and mountRouting. The four helpers that let an agent verify a page the way the app uses it, from vitest, without a server or a browser.

Stop counting duplicated lines: I rank copy-paste by what it costs me

An MCP server that finds duplicated code by meaning, ranks it by what it costs to keep, and hands the worst of it to my AI agent.

A blank page and a green test: the bug an agent can't see

A template that cannot resolve a path renders an empty string. For a human that is a blank spot on the page. For an agent it is a green test. Here is how the…

Using a SynchronizationContext in unit tests

We’ve started to use the Progress<T> class in our async application. However our tests started to fail because of that (when validating that our callbacks get…

How to create a SqlException

Have you tried to create a SqlException only to discover that the constructor is private? Here is how you can create the exception despite that.

How to safely convert enums

Converting between different types of enums is quite easy and it typically works fine. For a while. But changed business requirements might require that you…

Throwing exceptions

Throwing exceptions is in itself trivial. Just invoke throw with an exception object. But when should you throw? Should you create a new exception or rethrow…

How to design exceptions

This article will teach you how you should design your exception classes. It’s a follow up to my previous article which told you what exceptions are and their…