The tenth false claim of the same shape: v0.6.10

pip list prints a table of installed packages. Through OMNI it came back as:

Build: ok

Nine bytes, reported as a 99% reduction, describing a build that never happened. That is the tenth defect of this exact shape this project has shipped, and 0.6.10 is mostly the work of admitting that counting them was not fixing them.

The guard was optional

Issue #143 added a zero-state guard in June: require_parsed(parsed, input, summary) returns the raw input when a distiller recognised nothing, instead of letting it emit a confident summary of nothing.

It was a function a distiller could choose to call. Most did not.

So the guard was correct, tested, and bypassed. BuildDistiller reached its success string without ever having seen a compile step, because nothing forced it through the check. The fix in this release is not a better guard, it is making the guard unavoidable: distill returns Option<String> now, and a distiller that parsed nothing returns None. There is no longer a code path where a summary and an empty parse can coexist.

That is the difference between a rule and a type. A rule is followed by whoever remembers it.

The other things that were being deleted

Once the type was in place, the same class of bug surfaced across five more commands, each of which had been quietly reporting a saving:

And the reverse failure, which is easy to miss because it looks like nothing happening: a declined composite buffer was handed back byte for byte, so 25 of 45 composite runs saved exactly nothing while being recorded as handled (#291).

Two things were slow for no reason

The latency work started here and it is not clever. It is deleting work that was never needed:

  1. A GPT vocabulary was being loaded on 64% of hooked commands to fill one column in a report (#283). The tokenizer is now built only when that column is actually printed.
  2. 249 line-filter regexes were compiled on every single command so that at most one filter’s set could be used (#283). They compile when their filter matches.

Also in 0.6.10

What this release cost us

Every fix above makes OMNI report a smaller number. kubectl get pods went from 9.3% to 0%, because a pod table is an enumeration where every row is a datum and there is nothing in it to drop.

Losing that 9.3% was the fix. If you are comparing tools in this category, the figure worth asking for is not the headline percentage. It is the share of commands where the tool declined to act, and whether the vendor knows it.

brew install fajarhide/tap/omni && omni init