All posts
Published 6 min read

Human leadership over agents: what signing off requires

Everyone selling AI-assisted work now says a human reviews it. Almost nobody says what reviewing means when the work arrives faster than a person can read it. This is the companion to our post on keeping a human touch in web development. It covers the mechanics: what we do so we can put a name on work we didn't personally type.

  • How we build
  • AI
  • Accountability

"Human in the loop" is now the standard reassurance for AI-assisted work, and it has almost stopped meaning anything. Teams say it when a person directs the work. Teams also say it when a person clicks approve on a queue of things they haven't read. From the outside you can't tell the two apart.

What makes sign-off real is whether the person signing has the capacity to refuse.

Three conditions, and all three are required

  • You can state what the work was supposed to do, in advance and in your own words. If the only description of the goal is the output itself, you're being shown a result and asked whether you like it. Liking it isn't a check.
  • You have a way to check it that isn't reading it. Reading catches obvious errors and misses subtle ones. Machine-assisted work fails in the subtle way: fluent, plausible, confidently wrong about one thing. The more output there is, the less reading catches, and more output is the reason anyone uses the tools.
  • You're the one who pays if it's wrong. No process can take this condition off your hands. It's why our terms name a person at Kalebtec as responsible for what we deliver.

Most teams are missing the second condition. It's also the only one you can build machinery for, so it's where nearly all of our effort goes.

Verification you don't have to trust

Anything we care about has to be checked by something that can't be talked out of its answer. An agent follows a rule written in a document most of the time. The standards we sell have to hold every time.

On this site, that means checks enforce those standards automatically on every change, before anything reaches you:

  • Accessibility is scanned on every page in the sweep, at two screen widths and in both light and dark mode. Any serious or critical violation stops the change from shipping.
  • Contrast has a second, narrower guard aimed at the places we previously fixed. A general scan can pass while an unrelated edit undoes one particular repair, so the guard checks that the contrast rule reached each repaired element and that it still passes.
  • Behaviour has its own tests. The mobile menu has to keep keyboard focus inside it across a dozen tab presses and hand focus back when it closes. The cookie banner has to fire no analytics request before you've chosen. Both can look fine in a screenshot and still fail for a real person.
  • The checks run with no accounts connected: no payment provider, no analytics, no admin. The site is built to work without them, and a test proves it does. So no check can pass just because an external service happened to be up.

None of these checks is new. What changed is the ratio. When work arrives faster than anyone can read it, automated checks stop being a safety net under human review and become the primary control. Human attention goes to the decisions.

Decisions have to be written down, or they reverse

Agents have a failure of their own. An agent begins every session with no memory of why anything is the way it is. Left alone, it'll reopen a question we settled deliberately months ago, land on the opposite answer, and give you a well-argued reason. The argument that ruled that answer out isn't written anywhere it can read.

So we keep a decision record: one file per decision, amended in place, currently over 200 of them. The test for whether something belongs is one question. Would a reader six months from now need it to avoid re-deriving a choice, or to avoid contradicting something we've published?

What keeps it usable is knowing what does not belong. Bug fixes, refactors, which checks went green, the story of a difficult afternoon: the version history already holds all of that, in a form that can't drift. The log this replaced had reached 9,923 lines of decisions mixed with work narrative, and nobody could find anything in it.

Never publish a promise with no mechanism behind it

The highest-stakes thing an agent produces is a sentence on a page that commits the business to something.

Every customer-facing promise we make is catalogued in one register: guarantees, refunds, prices, delivery windows, response times, every claim containing forever, unlimited, any time or never, and every claim about accessibility or about what you own. Adding a promise means checking it against the ones already there and confirming that a way to keep it exists. A promise we publish with no way to keep it exposes us from the day it goes live.

That register has caught us. A post written for this blog stated that every site we build is built to WCAG 2.2 AA. Our own published accessibility statement describes this site as partially conformant, and lists the failures we found when we audited ourselves. Neither sentence was careless. They were written in separate sessions for different purposes. A customer reading both would still be right to feel misled, and no ordinary review would have put those two paragraphs side by side.

The register did. That post is held, and it stays held until the accessibility check exists inside our delivery process and the two claims agree. Holding it costs us one post. Publishing it would have committed us to something we hadn't yet built the means to keep.

Make the exception legible

Every control needs a way past it. Without one, people get work done by defeating the process. Then the control is gone, and nobody has said so.

Ours costs a sentence. Skipping the requirement to record a decision means writing down why this particular change isn't a decision, and that explanation is printed where the next reviewer sees it. The check can't verify that anyone thought about it. It can verify that the evidence of thinking exists, and it makes every skip visible. We chose a sentence because a yes-or-no switch gets flipped once and then forgotten.

What this adds up to

Leading agents takes more than resolving to be careful. Care doesn't survive the volume agents produce.

It comes down to arrangement. Something other than your own attention checks the properties that matter. Decisions stay made because they're written down. When something goes wrong, a specific person's name is on it.

We publish our own accessibility audit, including the parts we failed, for the same reason. Showing the machinery and its results is the only version of this claim a customer has any way to check.

Published price · from€500
Buy a website