smallbox

Articles

A real base to build on, or a safe way to change what you inherited.

Most software trouble comes down to one decision on someone’s desk: what to build next, or what to change next — usually in a system nobody fully holds in their head anymore.

These articles are written for the person who has to make that decision. They split by the situation you are actually in.

Building something new

A serious place for your next developer to start.

You have an idea, maybe a prototype, and a decision coming: hire a developer, or build the next piece yourself. The question underneath it is not what to add next — modern tools answer that in an afternoon — but where each piece will live once there are ten of them, before the same rule ends up in three places nobody chose. These articles are about getting that right before the real work starts.

Getting the base right

What the next developer inherits on day one, and where each piece of a new product lives before there are ten of them — getting that right before the real work starts.

Proof you can check

What the Foundation promises, what proves each promise, and how you can check it yourself.

What you could build

Honest explorations of what becomes buildable when an external API meets the foundation — the capability, the modules it rides, and the hard part named.

What one capability unlocks

What a single external service gives you, what to own locally, and what to leave with the provider.

Inherited systems

Safe change in inherited software systems.

You inherited a backend that has been running long enough that nobody fully holds it in their head anymore, and a decision is on your desk about what to change next. These articles are about reading the system honestly before any code moves.

Most engineering advice you will find online assumes the writer wrote the system being discussed. Inherited systems are different. The original authors are gone, the README is older than half the code, and the parts that look ugly are sometimes the parts the business depends on the most.

The articles in this cluster all share one position: technical ugliness is not the same as risk, and a green test suite is not the same as safety. Both are easy to mistake for evidence. Neither is.

What replaces them, in the System Report, is a small set of named ideas:

  • The four properties of safe change — observable, testable, reversible, confirmable. A finding is not actionable until each one is answered.
  • Test trust classification — high, medium, low, dangerous. The same test type can be all four depending on what it actually anchors against.
  • The Business-Use Map — relevance is read from business use, not from how messy the file looks.
  • The five kinds of weird behaviour — known, accidental-but-relied-upon, dead, unknown, unsafe. Each one calls for a different action.

The articles below take one of those ideas at a time and unfold it into the buyer’s decision it is supposed to inform.

Diagnostic before surgery

How to think about an inherited backend before any code is changed.

What tests actually buy you

Where green is real safety, where it is only a green checkmark, and where the gap matters.

Reading the system honestly

Where business rules hide, what kinds of weird behaviour you are looking at, and how to handle each one.

Working with AI agents safely

Using AI coding tools on a real codebase without inheriting confidence the tool did not earn.

What you should expect to receive

What a real system report contains before any implementation work is recommended.

If the question on your desk is “what do I do with this system?”

The articles describe the lens. The System Report applies that lens to your system, in writing, with evidence and a recommended next move. The conversation can start with as much or as little context as you are comfortable sharing.