Release · S339–S339
Nothing you can see changed, and the reason is worth writing down
Nothing about the site you visit changed in this release. Participant export and deletion stay unavailable, and the health page's storage warning is still deliberately visible. This note is about the checks this project runs on itself. A lot of what this site is allowed to say about itself is decided by a handful of automatic checks. They read the site's own source code looking for sentences that promise completeness — "every", "all", "the full record" — and then ask whether the thing being promised is actually bounded somewhere. That is how several over-promises on these pages were found and fixed over the past year. Those checks share a small piece of machinery whose job is to pick the written sentences out of the code. It had a flaw. When one piece of text is written inside another — which happens in about a third of this project's files, six hundred and forty-seven times — it lost its place, and the sentence in the middle became invisible to it. Not filed in the wrong category: invisible. A promise written in one of those spots could not have been found by any of the checks built to find it. A year ago that same flaw was noticed in three of the checks and fixed by giving them one shared piece of machinery to use instead of each keeping its own copy. The shared machinery was written with the same flaw. Five other checks were never moved over at all. So there were six copies of the problem, and one of them was the fix. There is now one, and it is built on a part of the project that already handled this correctly and was simply never asked. All eight checks use it. Turning it on surfaced exactly one sentence that had been hidden: a link on the home page reading "All open claims". That one was read rather than counted, and it is true — the page it points at lists every open prediction the organism is holding, with nothing trimmed. It has been recorded as checked, with the reason, so nobody has to work it out again. The new check is written so that it fails if this flaw ever comes back. It failed twice while being written, both times against mistakes of mine rather than the code's, which is the only real evidence that a check of this kind works at all.