Wegweiser
All notes

An investigation now stops in time to write it down

A device investigation could spend its whole budget gathering evidence and then have no time left to tell you what it meant. It now measures how long its own turns are taking and stops early enough to write the conclusion. When there is still no conclusion, the row says whether the evidence is there or not.

When you send Wegweiser to investigate a device, it works to a clock. It runs checks, reads what comes back, decides what to look at next, and at the end it writes up what it found. The whole thing has a budget, because an investigation that runs forever is an investigation nobody is waiting for any more.

The budget was being spent in the wrong place. A run on Tuesday gathered twenty checks of real evidence across ten iterations, and then the row said:

The investigation did not produce a written conclusion.

Everything it needed was collected. What it did not have was the thirteen seconds left to say so.

The reserve is now kept, not just checked

The loop used to ask one question before each round: is there time left beyond the reserve I am keeping for the write-up? If yes, it ran another round, and that round was allowed to take as long as it liked. So a round that began with ninety seconds in hand could take sixty five of them, and the reserve it had just confirmed was quietly eaten by the round that confirmed it.

Now a round has to fit in what is left beyond the reserve, and what a round costs is measured rather than guessed. The measure is the slowest round this particular run has actually had, not an average, because in that Tuesday run the rounds ranged from four seconds to sixty five. An average would have made the same mistake, just more slowly.

On those numbers the loop would have stopped after nine iterations instead of ten and kept about ninety seconds to write up, which is comfortably more than those calls were taking.

And when it still cannot write up

Sometimes a run genuinely has nothing. That is a different situation from a run that has plenty and ran out of road, and until now the row said the same thing for both, which left you to guess whether re-running it was worth anything.

It now tells you which one happened. A run that gathered nothing is worth running again. A run that gathered twenty checks and could not write the summary already has its evidence on the row, in the steps underneath, and re-running it buys nothing except the same wall clock a second time. So it says how many checks it ran and points you at the chat, where the findings are there to ask about.

There is a related fix underneath this one. A model provider's own client library retries on any error it does not recognise, including the signal that says the task is out of time, so the signal can be swallowed several layers below our code. A task that waits to be told it has run out of time can therefore wait forever. The investigation reads a wall clock instead, and stops itself.

Also: there is a bird on the sign-in page

Wegweiser was meant to be called Vegvisir, after the Icelandic stave you carry so you do not lose your way in bad weather. The name was taken, so the German word for signpost got the job.

The rest of that story has now arrived. When Odin goes out into the world as an old man with a staff, asking questions of people who do not know who they are talking to, he calls himself Vegtam: the one who is accustomed to the way. He keeps two ravens who fly out and come back with what they saw, which is a fair description of an agent.

So there is a raven on the sign-in page, one on the rim of every empty box in the product, one over the masthead of this blog, and Vegtam himself on the 404, where a signpost is arguably most useful. All three of them stand on the legal line at the foot of the marketing page.

They blink about once every nine seconds and otherwise keep still. They appear where nothing is happening, and nowhere near anything that has gone wrong, because a cartoon bird next to a failing disk is not a joke anyone needs at that moment.

More notes

  1. A clipping becomes a ticket

  2. When your machines are actually in use

  3. Priced in pounds, with the VAT worked out