यह पृष्ठ अभी आपकी भाषा में उपलब्ध नहीं है। आप अंग्रेज़ी पाठ पढ़ रहे हैं।
Blog
A guard that watches half the places
ARMANOS टीम7 min
An exception is a permission
A check reports green when it finds nothing where it looked. A place it was told to skip is not left unexamined by it: it is approved by it.
The difference is invisible from outside. A green line says nothing about the size of the field it covered, and a guard over a quarter of the pages looks exactly like a guard over all of them.
Four exclusions over two days
The checks here read the pages of this site: the claims on them, the numbers in them and the links out of them.
None of the four was a broken line of code. Every one of them ran exactly as written, and the writing was the defect.
| What the check skipped | What went through |
|---|---|
| The block that carries the proof | 15 of the 41 places where a claim had outlived the code |
| Every page but the front one | A count copied by hand, a third under the run that measured it |
| A figure with no wording beside it | 22 places showing the results of an older run |
| One field, read as a file path everywhere | A measurement spelled out in words inside a link description |
The skipped block was the proof block
The sharpest of the four sat in the check that reads what these pages claim about the app. One line in it stepped over the block at the foot of every page, the block naming the file and the stand behind each claim.
That is where a claim is at its most specific, and so it is also where a stale one survives longest. Of the 41 places, 15 were sitting there.
What is excluded now is one named field rather than a whole block, and a second check counts the lines read inside the proof and reddens when that number falls under its mark.
A figure in a bare cell
In a fact card or a table row the figure and the words explaining it are separate cells. A check looking for a figure beside its own name never sees the two together.
The walk now carries the neighbour with it: the caption of the same card, or the other cells of the same row. A bare figure is judged next to the words that name it.
- 1
Reads the cell
The figure exactly as it stands in the file.
- 2
Carries the caption
The heading of the same card or the other cells of the same row.
- 3
Judges them together
A figure under a caption naming one of our measurements has to be filled in rather than typed.
Where the numbers here come from
Where a page carries the name of a measurement, the figure is filled in as the page is read rather than typed in.
The counts of checks come from running all three suites end to end. A run that fails writes nothing, so a broken suite cannot quietly raise the figure on the front page.
The count of readings the app takes comes from the log of an acceptance run on a shipped build rather than from a list of expectations. A list says what was meant to happen and a log says what did.
How a guard is built now
The field that names a file under the proof block is skipped there and read everywhere else, where the same field is ordinary reading text.
The guard over the claims counts the lines it read and reddens when that number falls under its mark. Shrink it quietly to a tenth of the pages and it fails as loudly as a guard that found something.
The rules cut both ways as well. The daily pace count is guidance: it colours a bar and never blocks anything, and the check insists that the code still says so. A change in behaviour would redden it and ask for these words to be rewritten.
What this does not claim
- It does not claim that no exclusion is left anywhere in the checks. It claims that four were counted, named and taken out, and that each one is written down in the file that now covers it.
- It does not claim that a guard proves the text is any good. Whether a sentence is written for the reader is held by eyes, and nothing here pretends to measure that.
- The counts above describe the pages of this site rather than the browser itself. The checks over the app and over the server are separate suites with their own ceilings.
Where you can see this yourself
The files below can be opened.
- The check over what the pages say about the daily pace
- apps/web/test/потолок-это-ориентир.js
- The check that keeps a measured number from being typed in
- apps/web/test/числа-не-вписаны-рукой.js
- The numbers themselves and the run that writes them
- apps/web/measured.json · apps/web/scripts/сосчитать-проверки.js
- The name of a measurement is filled in as the page is read
- apps/web/content/чтение.ts
Questions
- Why not check everything?
- Some fields really are file paths, and a check forbidding the word there would demand that the truth be taken out. In the proof block that field is skipped, and in a link description the same field is read.
- How would a skipped place show up?
- By the guard over the claims counting how much it read. A line count under its mark reddens the run even when nothing else is wrong.
- Why does green mean little on its own?
- Because green reports only the field that was searched. The size of that field is the question worth asking.
- Does any of this touch the browser?
- No. These checks read the pages you are reading now, and the browser has its own suites with their own measurements.
- Can I see the numbers behind a claim?
- Every page but the section listings carries a block at its foot with the name of the file and the stand.
See what your own browser answers
The check reads 12 values, and that figure is counted off the check itself rather than typed here.