Six views and a synonym: v0.7.8
This one came out of reading omni stats closely instead of running it. The report
had grown a view at a time, and nothing had ever gone back to ask whether the pieces
still agreed with each other.
Seven views, six of them distinct
omni stats --help offered seven values for --view. Two of them, commands and
detail, produced byte-identical output: the renderer mapped both to the same arm and
nothing downstream ever read which one had been named.
The code said otherwise. A comment above the command table read “--view commands
keeps the ratio ordering, because there the ratio is the subject”. Nothing implemented
it. An earlier release had moved that table to byte ordering, and its review had moved
the other spelling to match on the grounds that one table gets one ordering. The
comment was what got left behind, describing a distinction the code no longer made.
commands still works and is no longer advertised. A test now walks the values the
help offers and fails if two of them reach the same renderer.
A flag documented for “a table view”
--limit is described as “Rows in a table view, default 10, 0 for all”. Three views
render a table. One of them read the flag.
omni stats --view projects --limit 2 printed 161 rows, which is exactly what it
printed with no flag at all. There is now one reader for --limit, --limit 0 and
the older --all-commands, and all three tables use it. A table that cuts rows says
how many it hid, rather than stopping silently at ten and reading like a table with
ten rows in it.
Five views, three frames
The default and detail views drew a rule above and below their title. --view context
still said “OMNI Signal Report: Context”, a name the other views had stopped using.
--view projects and --view rerun drew no rule above at all, and projects folded the
period label into the middle of a sentence:
OMNI Project Analytics, last 30 days Breakdown
One printer draws all of them now.
OMNI · last 30 days
OMNI · detail · last 30 days
OMNI · projects · last 30 days
OMNI · rerun · last 30 days
OMNI · context
context carries no window because it reads the live session rather than a period,
which is also why it had been quietly ignoring --since. So were --share and
--card: both accepted the flag and threw it away, so --since week --share printed
the all-time card byte for byte. They honour it now, and the line names the window
either way, because a percentage whose population the reader cannot see is the defect
this project spends its changelog arguing against.
Two blocks that never lined up
The default view stacks the engine rows and the heaviest command classes. Each block sized its own columns, so the byte column of the second sat two characters off the first. They share one geometry now. The test asserts the shared right edge rather than any single width, and it was driven red by unpadding each of the two columns in turn.
Where the tokens went
The larger addition is omni context --tokens, which breaks a context down by class
from data OMNI was already recording and never showed you. It says plainly what it
cannot answer, too: OMNI sees what passed through its hook and never sees the prompts,
the system block or the tool definitions, so it reports the share of what it touched
rather than the share of your context.
The numbers did not move
1.4% from the filters, 5.1% with the ledger, 24.1% of the available repetition
captured, over the same 9,478 traces. Every figure is byte-identical to the 0.7.7 run:
the two benchmark artefacts differ only in the version string and in dirty_tree,
which was true for 0.7.7 and false here.
0.7.8 changed no distiller, so a flat result is the expected one rather than a coincidence. The useful part is the second half: 0.7.7’s figures were taken with uncommitted changes in the tree, and this clean-tree run reproduces them exactly.
brew upgrade omni.