Release · S292–S292
A check had been excusing something, and the excuse was wrong
This release is about a habit rather than a bug. For several releases VEILOS has been checking its own checks — asking whether the things that watch this site are actually looking at what they claim to. Every one of those reviews asked the same question: when a check accuses something, is the accusation right? This time we asked the opposite question, which nobody had ever asked here: when a check EXCUSES something, is the excuse right? The first one we looked at was not. There is a page here called the Commons. It shows the moments when two people, working separately and without conferring, arrived at the same idea — which is the whole reason this place thinks a thing is worth believing. The page described itself, to search engines and to anyone who shared a link to it, as every Confluence where two Sovereigns independently reached the same idea. Every. The list behind that word holds the most recent hundred and twenty, and quietly sets the older ones aside as it fills. So the promise was true only for as long as fewer than a hundred and twenty had ever happened, and on the day the hundred and twenty-first formed the sentence would have become false with nothing anywhere to notice. Both sentences on that page — the one a reader sees and the one a link preview quotes — are now worked out from the list's own record of what it has set aside. When nothing has been set aside it still says so, in as many words, because a true sentence should not be watered down; the difference is that from now on it stops saying it on the day it stops being true. The reason that sat there is the part worth telling. A check built two releases ago DID look at this page. It read the sentence, saw the shortened list, and decided not to raise it — and wrote down why: because that list, it said, is not a shortened list at all. That was simply wrong. Three separate places in this project's own records said the opposite at the moment those words were typed, and one of them is the reason the machine-readable version of this data has been reporting the honest, complete count the entire time. So the machine was being told the truth while the person reading the page was not — which is the wrong way round, since the person reading the page is the one who cannot go and check. We have taken the general lesson rather than just fixing the sentence. An excuse is a claim about the world exactly as much as an accusation is, and it deserves the same burden of proof. Excuses are more dangerous, if anything, because an accusation gets argued with and an excuse gets filed. Worse, this one had been copied forward into another record as evidence that the OTHER things the check had passed over were probably fine too — so one unexamined sentence had quietly become the character reference for a whole group. Underneath the excuse was something duller and more important: the check could only recognise one kind of shortened list — the kind managed centrally — and this one manages its own length. So a list that trims itself looked, to that check, like a list that never trims at all. It would have agreed with the false sentence. That blind spot is now closed, and the check publishes how many lists of each kind it can see, rather than quietly folding the new ones into an old number and changing what that number has meant for months. A second thing was found the same way, and it is almost the same story told backwards. The Almanac — the page listing the moments when reality is due to grade a prediction — had a careful, honest sentence written for it several releases ago, one that adjusts itself when old predictions age out before they can be settled. That sentence was only ever wired up to the calendar file you can subscribe to. The web page beside it kept a hand-written line promising the calendar of every commitment that has one. The tool existed, was correct, and had been pointed only at the machines. It now speaks to both, from the same words, and the two are held together so they cannot drift apart again. We also finally measured something we had been avoiding. The existing check on our public writing only polices sentences that send you somewhere — read this, see that. It has nothing to say about a sentence that simply states a fact. We counted: across everything this site serves, there are around six thousand one hundred sentences of ordinary prose. The existing check watches thirty-eight of them. Six hundred and seventy make a claim about all, every, each or complete — and not one of those was being watched. That is about one in twenty covered. We are publishing that number rather than quietly fixing a couple and moving on, and we are deliberately not implying the other six hundred and sixty-eight are wrong: two were read this time and two were wrong, which is a reason to keep reading, not a verdict on the rest. One more thing, and it is an admission. Partway through this work we tried to register the Commons page in a list of pages-that-report-carefully — and the project refused it, correctly, because that particular list is only for pages that do their counting in the same file, and this one does its counting next door. We had been about to file a piece of paperwork that contradicted its own rules, inside the very change that was fixing an example of exactly that. We withdrew it, put the record where it actually belongs, and wrote down in place why a number that looks unchanged did not change. Housekeeping: a small piece of styling that had been typed out twice in two different files, one edit away from the front page and the status page disagreeing about what a storm looks like, is now written once, and proved to render identically to the character. The identity and trust system remains external and unchanged; no replacement was built, no new dependency, provider resource, migration, destructive operation or cost increase was added, and nothing here added a line of JavaScript to any page.