Skip to content
Inkstand
← Insights

Swept is not clear

4 min read

A clean result is two facts wearing one coat: something looked, and it found nothing. Report the second without the first and you have manufactured confidence in the person who most needed to stay careful.

Five answers, and only one of them is a pass

Every rule in force on a piece of copy leaves a run in exactly one of five states. Verified: code evaluated the text, and the result is a fact. Swept: code looked for the phrases it can detect and found none, which settles nothing about a rule that turns on judgement. Reviewed: a model read it, which is an opinion and can be wrong. Steered: the rule was queued for a model and the review never reached it, so nothing inspected it at all. Out of scope: the rule is in force and the run said up front it was not going to look.

The five are exhaustive and disjoint over the rules in force, which is the only thing that makes the arithmetic worth reading. A rule that has been stood down is in no bucket and in no total — it is not a rule that went unchecked, it is a rule the account withdrew, and the register records the withdrawal. Four of them would be a nicer number and would require folding one state into another that says something untrue about it.

The sentence that goes into the record

one release record, counts filled in for illustration

12 rule(s) verified in code, 3 reviewed by model, 2 swept in code with judgement outstanding, 4 not inspected at all, 1 not in scope for what checked this.

That clause is written into the release record, and the reviewer asked to countersign is shown the same arithmetic before she signs — the same five states, the same denominator. Withholding from a signer a sentence that ships in the record she is signing is indefensible. What she is shown is the frames: a review link carries the artwork and its counts, and the caption is signed off inside the product rather than through the link.

It is typed out independently in two files, and a test asserts the two agree. A shared template would make that test a tautology; two templates and one equality check is the only version of the guarantee with teeth in it. Today it has one hole: every fixture in that test has nothing out of scope, so the out-of-scope clause is unchecked — and the two copies have already drifted on exactly that clause.

What a sweep actually establishes

Take a rule that says a claim must be substantiated. Code can find the word cures. Code cannot decide whether the sentence around it is supported by anything, so the rule stays queued for a model however much the pattern turned up. The findings it raised are real and they are reported. The silence where it raised none is not a clearance.

What code found is a fact. What code did not find is not a verdict, and only a check that actually ran may promote a rule out of the state that says nobody has looked.

So swept is deliberately counted inside steered rather than beside it. A partial sweep does not reduce the number of rules still waiting on a person, and promoting it would make every “needs judgement” counter in the product under-report — the one direction a compliance record must never err in.

The count nobody wants to publish

Steered is the number that says nothing checked. Before it had a name of its own on screen it had to borrow one that means a model read it: the reassuring direction, on the screen a compliance officer signs.

It is a fact about a run and never a property of a rule type. A rule book that drew steered next to a kind would be telling an owner their house rule is unenforceable when it is only unenforced so far, which is the same overstatement pointed the other way. Only a surface reporting a real run — the release record, the report, the review link — is allowed to say it.

Reviewed counts only where the review ran. Switched off, or errored, the rule drops back to steered, and the record says so instead of keeping the better word.

Not looking is an answer too

A caller that only ever sends text cannot see a colour, so a visual rule is out of scope for that run rather than passed by it — which is why the review endpoint declares what it is checking and gets back a result narrowed to it, instead of a clean sheet it did not earn. A rule scoped to captions on a post with no caption is out of scope for the same reason: nothing was examined, so nothing was established. Both stay in the total, because a rule in force is in force whether or not this run could reach it, and dropping it would quietly shrink the denominator under every “N of M rules” on the screen.

What this buys, and what it does not

It does not make the engine better at judgement. It makes what a run established separable from what it did not, so the person holding the record can see the size of the part still resting on a human — and see it before the release rather than during the enquiry that follows one.

The full shape of what gets written down is on the release record.