vDesktopAI Masterclass
← How we build

Case study · Our own systems

Auditing our own systems: the check that ran for twenty-three days and could never have caught anything

Somebody in a business has to check that the things reporting green are actually working. That is an internal-audit job, and it is nobody’s favourite afternoon — which is why it is the first role a small company decides it cannot afford yet. There is no such hire here. The role runs anyway, and this is what it found on our own systems: a monitor switched on since 6 August that ran on schedule every single time, logged no errors, and was structurally incapable of ever reporting anything. Twenty-three days. How it was found, what was actually wrong, and what is still open.

Subject
Our own monitoring
Running since
6 August 2026
Findings possible in that time
0 — twenty-three days
Status
Fixed, with a gap named

There is almost nobody here. That is the design, not a stage of growth.

vDesktop is a net-new company, spun out of an existing operation and built from the start so an AI model holds roughly ninety percent of what would otherwise be staff. That figure is the founder’s description of the intent. It is not a measurement, we have not costed it, and we are not going to hand you a saved-hours number we did not take.

Worth being exact about one thing, because the shorter version of this sentence is usually wrong: nobody here was replaced. These roles were never hired. A company that starts this way does not lay off a QA department — it simply never has the week where someone says we cannot justify that salary yet, and the job quietly goes to nobody.

So the fair question is whether the roles are actually being done, or whether “we don’t need that hire” is the same sentence every understaffed business tells itself. This page is one of those roles: the internal audit, run on our own systems. The first thing it examined was the checking itself, and the checking did not survive it.

The problem

Every business runs on systems that report on their own health. The backup that emails a green tick. The alert that says nothing because nothing is wrong. The monthly report that arrives on the first, correct in shape and never once questioned.

The hard thing about all of them is that “nothing found” and “not looking” produce the same output. A quiet monitor and a broken monitor are the same silence. You usually learn which one you had from a customer.

So the role is not “watch the dashboard.” The role is: check whether the thing that watches the dashboard is real. That is a job, it is dull, it is nobody’s favourite afternoon, and almost no small business has anyone doing it.

We ran it on ourselves. It found two faults in the same mechanism, in the same week, and they are opposite failures — one where the check could never speak, and one where it spoke and was wrong. The second is its own case study. This is the first.

Both were found here rather than by anything reporting them. Each one is below.

The approach

The rule the audit was run under is one sentence: check that a mechanism arrived, not that it fired.

Firing is easy to verify and proves nothing useful. A scheduled job that exits zero has fired. A log line saying the check completed is a true statement about the check completing. Neither of those is evidence that anything was examined, and both read exactly like coverage — which is worse than a gap you can see, because a visible gap gets fixed.

Arriving means the thing at the far end of the chain actually received something and acted on it. The way you test that is to go around the outside and re-derive the answer independently. If the system says all clear and an outside pass says the same, that is a check. If the system’s own log is the only evidence, that is a story.

The monitor that could never speak

It ran on every stop for twenty-three days. Its records were still empty.

The check exists for a real, specific failure. One of our agents once ran 126 minutes on a job estimated at 43, and was never silent for a single minute — it wrote to its log every few seconds the whole time. Every liveness check said healthy, and every one of them was right. It was healthy. It was also an hour and twenty past due, and nothing in the system could see that, because being alive and being on time are different questions and only one of them was being asked.

So a second check was built to ask the other one, and wired to run on every stop from 6 August.

It ran. It ran hundreds of times. It never once had anything to read.

The check looks for jobs past their expected finish time. The expected finish time is written by exactly one other program — and that program had “eta”: None hardcoded in all five of the places it writes. Not left out, not occasionally missing. Written as nothing, five times, deliberately-looking, on every path through the file.

The check was therefore reading a list of jobs of which precisely zero could ever be judged late, and correctly concluding that nothing was late. Its own state file — the record of everything it had ever warned about — was still empty after twenty-three days, and an empty file is exactly what a quiet system looks like.

Nothing about this was visible from the inside. The scheduler logged success, because it succeeded. The check exited zero, because it was working. Our own written standard described the estimate as being written at dispatch, and that sentence had been false since the day it was written.

It was found by re-deriving the answer from outside: taking the raw dispatch records, pairing them against the real end times on disk, and getting a number where the system had a blank.

The second break in the same chain

Fixing the first fault alone would have looked exactly like a fix and changed nothing.

The obvious repair is to make the estimate real. That was done — and it would not have worked.

Reading further along the same chain turned up a second, completely independent break. The check only considered a job if its status read running. The one program that writes those statuses has always written working.

So even with a correct estimate written into every job, the line that compares it against the clock could never have been reached. Two faults, in two different files, written by different hands at different times, each one on its own sufficient to render the whole mechanism silent.

This is the part worth taking away, and it is not really about monitoring. A fix that addresses the fault you found, in a chain you have not walked end to end, produces a system that is still broken and now believed. The first repair would have shipped, been announced, logged success, and delivered nothing — which is the identical failure it was repairing, one layer along.

The estimate is no longer declared, either. It is measured: 540 completed jobs paired against their real end times, and the ninetieth percentile taken per person. That last choice matters more than it sounds. Half of all jobs run past the median, so a median deadline fires on half of everything and is ignored inside a week — which is how the original check would have died even if it had worked. And a single number for everybody was never going to hold: one specialist’s typical job takes a minute and a half, another’s takes twenty-nine.

Where it stands

The chain
Fixed
Both breaks closed, end to end, and the estimate is now measured from real completed work rather than declared.
Known gap
Open
Named in the code the same afternoon the fix went live. Unresolved.

The gap is written into the file that carries the fix, in the file itself, dated, by the person who wrote it: when a job is handed back to somebody who is already working, the clock is not restarted. So anyone given a second and third task keeps the start time of their first, and will eventually read as late no matter how promptly they work. It fired on exactly that within hours — one specialist reported an hour and nineteen minutes over while actively producing on a third assignment.

There is a workaround, it costs a decision each time, and it is not the real fix. The real fix is a change to how work is recorded, which is a different piece of work and has not been done.

It is written down rather than quietly carried, for the same reason everything else here is: the next person to touch this should not have to rediscover why a busy job reads as permanently late.

That is the honest state of it. The mechanism that checks whether our systems are telling the truth currently has findings against its own house that are open and marked open. A version of this page that said otherwise would be the exact failure the audit exists to catch.

You already know which role you are missing.

Most owners can name the hire they cannot justify. The person who checks that the backups actually restore. The one who reads the report nobody reads. The one whose entire job is to be unconvinced by good news, and who is therefore impossible to build a business case for, because a good year for that role looks exactly like not having had one.

So the role stays open. The systems keep reporting green. And the first person to check the checking is a customer.

That is the role running on this page. Not a demonstration of it — the actual output, including the fact that the first thing it audited was the checking itself, and the findings against its own house that are still open and still marked open.

We are not going to tell you what that saves you, because we have not measured it and you would be right not to believe us. What we can show you is what the work looks like when it is genuinely being done, on our own systems, with the failures left in.

Say which one you are missing.

Tell us what the role is meant to catch and what happens today when it doesn’t. You will get a straight answer about whether it is something we should build.

Everything on this page was true on 31 August 2026. If that date is old, treat this as old.