Josh repair programme · Tuesday 1 September 2026

All eleven repairs on Josh are done.

We listened to sixty real phone calls and wrote down every single thing Josh got wrong. It came to eleven jobs. Tonight all eleven are finished, checked and running on the live phone. This is the first time we have cleared a list like this end to end.

11 of 11jobs finished
18new alarms written today
169alarm files now guarding Josh
0failing tonight

The one sentence version Every one of the eleven was fixed in the machinery, not by writing Josh another instruction. That is the real change, and it is why we expect these to stay fixed.

The good news first


Eleven for eleven. Every job on the list is done, joined into the live system, and protected by its own alarm. Nothing was dropped, and nothing was quietly left half finished.

Several ran side by side. We split the work so different jobs could be worked on at the same time instead of one after another. A list this size would normally take a week.

Nothing on this list ever reached a paying customer. Every call we studied was one of ours or a tester's. We found these by looking, not by getting complaints.

And the alarms are the part that lasts. Eighteen new ones went in today. They run by themselves every time anybody changes anything, so these eleven faults cannot creep back in without somebody being told.

Why this time is different from last time

Ken has heard "we fixed that" before. This is what changed.


Josh works from a written instruction sheet. It is thousands of words long. Every time something went wrong, the quick fix was to add another line to it: "Do not quote a price without checking first."

Here is the uncomfortable bit We had already told Josh not to make the price mistake. In writing. Twelve separate times.

He kept making it. That is not Josh being careless. It is us using the wrong tool.

An instruction is a request, not a rule. Josh is not a machine ticking off a checklist. He builds a brand new sentence every time he opens his mouth. A good instruction makes the right sentence more likely. It never makes the wrong sentence impossible.

So the faults kept coming back. And every time they did, somebody added another line, and the sheet got longer, and Josh got no safer. A longer instruction sheet is not more safety.

This time we built gates. A gate is a real piece of machinery that sits between Josh and the telephone. Every sentence he produces has to pass through it before the caller hears anything at all. If a sentence breaks the rule, the gate stops it. Josh does not get a vote.

The whole difference, in two lines

  1. An instruction says: please do not tell the customer the wrong price.
  2. A gate says: the wrong price cannot leave the building.

Every one of the eleven was fixed with a gate, or by repairing the machinery that feeds him. Not one of them was fixed by adding words to the instruction sheet. Some real examples:

The old wayWhat we built instead
"Do not keep saying you will check"A counter that will not let him stall twice about the same thing
"Do not go quiet on the caller"A watchman that notices silence and speaks up
"Always use the right price band"A repair to the part that reads a price list, so the right band is the only one it can find
"Read numbers back carefully"A check that compares what he heard with what he says, and catches a number that changed

The eleven jobs

What each one was, in plain words.


1

He got stuck saying "let me check that for you"

On one real call he said it five times in a row. Then he asked the caller which option she preferred — from a list he had never actually read out.

Now: he may say it once, and not again about the same subject. If he promises to check something, he comes back with the answer or says plainly that he does not have it. And if the machinery ever removes something he was about to say, it removes the question that depended on it too, so he cannot ask about options nobody heard.

Fixed and live3 alarms
2

The line went silent and nobody was there

Long gaps where the caller is holding a dead phone. People hang up. You never find out why.

Now: a watchman listens for silence. If nothing has been said for too long, it speaks. It has already earned its keep. This morning it caught a sixteen second silence on a real call and rescued it. Two older checks had both said that call was fine.

Fixed and liveAlready saved a real call
3

He quoted from the wrong house size band

A 2,900 square foot house was quoted $572. The right answer was $622. That is fifty dollars short, on a real call, and nothing anywhere flagged it. The tester's own note said a normal customer would never have caught it.

Now: a headline price that is too risky to show him is also too risky to let him say. Both halves use the same test, so they cannot disagree again.

Fixed and liveMoney
4

Numbers came back changed

House numbers, postcodes and phone numbers were being read back wrong. "1827 Willow Bend" came back as "187 Willow Bend". A wrong house number means an inspector at the wrong door.

Now: when he reads a number back, the machinery compares it with what the caller actually said. A number that grew, shrank or changed gets caught. He is also given more patience while somebody is still reading digits out, so he stops cutting across them halfway through a phone number.

Fixed and live5 alarms
5

He asked for things in a jumbled order

Questions came out in whatever order came to mind. Some were asked twice. It made him sound muddled. It also made every other fault harder to test.

Now: there is one written running order, shared by the phone Josh and the website Josh, so the two cannot drift apart. A director keeps him to it and a guard checks what comes out.

Fixed and liveAlso makes everything else testable
6

Giselle's Josh could not quote a price at all

Her prices were on her record. Josh simply could not read them. The part that reads a price list could not understand the way our own setup form had written them down.

The important part: that same fault was quietly affecting four of our five clients. It was found on Giselle because she was new. Fixing it fixed the others at the same time.

Fixed and liveOne fix, four clients
7

Our automatic call testing was passing while real calls failed

The worst kind of problem: a green tick on a broken thing. If the safety net says everything is fine, nobody goes looking.

Now: the tests that were making wrong claims have been corrected, and there is a written record of which old test results should not be trusted. We would rather have a test that says "I do not know" than one that says "fine" when it has not checked.

DoneKen's own question
8

Beth can now do this work without a black terminal window

Beth asked for this directly. She needed a way in that does not involve typing commands into a terminal.

Now: the procedure is written down, pinned on the launch board, with the document beside it.

DoneBeth asked for it
9

Two practice companies, so testing stops disturbing real clients

Until today, testing the full journey end to end meant running it through Chad, Ted or Giselle — real inspectors whose records are what Josh actually speaks from on a live call.

Now: two pretend firms exist. One has nearly every service switched on, to test what Josh offers. One has only four, to test what he correctly refuses. They went in through the real setup form, not planted in the database, so they test the whole journey exactly as a real client would travel it.

And they can never be counted as customers. The last time we had pretend companies, the only thing marking them was a heading, and they got repeated as real for months. This time the marker is built in. The board will not count them. Their record opens with a "NOT A CLIENT" banner. And their names are held back, so a real company can never land on top of one.

Done2 alarm files
10

The follow-up email — written up, and deliberately not built

Chad would like Josh to email people who do not book, with a video link. His mother does it by hand and says it works almost every time.

Ken said this belongs in the next version, and Chad said there is no rush. So it is written up properly and ready to build, and it was not built. That is the job being done correctly, not a job left undone.

Written up, held for V2Ken's decision
11

The small pile

A handful of smaller tidy-ups that had been waiting for someone to have the time.

Done

Every fix had to prove itself first


A repair with nothing watching it comes back. Usually in about three weeks, quietly, when somebody changes something nearby and never notices.

So every one of the eleven had to deliver an alarm as well as a fix. And we insisted the alarm be proved in a particular order: it had to fail on the broken code first, and only then pass on the fixed code.

Why the order matters An alarm written after the fix, that has never once been seen to go off, is not proof of anything. It looks exactly like a working alarm. That makes it worse than having none, because everybody trusts it.

That is not a rule we invented today — it is one we learned the hard way. This morning a check on Giselle's prices had been showing a cheerful green tick the entire time her price list was completely unreadable. The test that should have found the fault had certified it instead.

What happens next


All eleven are proved by machine. None has yet been heard by a person on a live call since they were joined together. The alarms prove the code does what we meant it to do. Only a real phone call proves we meant the right thing.

The next step

  1. Test calls on Chad's line and Ted's line. The script is printed and ready. It needs a person with a phone, and about half an hour.
  2. One listening check on Giselle's line, to confirm Josh now says her company name the way she asked.

Then

  1. Anything those calls turn up goes on the list the same way these eleven did — a gate and an alarm, not a new instruction.