D605 - The largest record kind in every report, read by nothing
Status: measured Date: 2026-09-08
What the count did not say
orbistoun-cli probe reads an obSCEne report and says how
much it read. On the three reports that arrived this morning it said so
correctly, and here is the tally it did not print:
eboot 305 sym 298 measure 264 res 256 try 217 bytes 133 import
payload 2588 measure 264 res 207 try 162 sym 134 import 117 bytes
pkg 433 measure 264 res 252 try 247 sym 229 bytes 133 import
measure is the most numerous record kind in every one of
them, and orbistoun-probe had no Measure
variant. All 3,319 landed in Record::Other - which the
protocol permits, which was the right default while nothing consumed
them, and which was invisible.
Nothing here was wrong. The record count was right, the section coverage was right, every symbol fact was right. The report simply had no way to say "and there is a class of record in this file I make nothing of", so it read as a full account of the file. That is the failure principle 3 already names one level down: reporting more than the measurement supports.
What is in them
Nineteen sections in the payload report alone, and the list is worth reading because most of it is platform ground truth this project currently assumes:
| section | what it measures |
|---|---|
120-measure/cache-topology |
cache levels, line sizes |
120-measure/cpuid |
processor identification |
120-measure/clocks-advance,
timer-ratio |
how fast each clock actually moves |
130-layout/direct-memory-query-flags |
the flags a direct-memory query answers with |
135-sysctl/names |
which sysctl names exist and how long their answers are |
136-kernel/handoff |
where the kernel puts what it hands a process |
138-layout/addresses |
named symbols against their console addresses |
015-sync/mutexattr-round-trip |
what a mutex attribute reads back as |
140-oracle/kexport-table |
2,443 kernel exports, hash against address |
The fix, and the part that is not a fix
Record::Measure parses now,
Transcript::measurements returns them graded like
everything else, and Transcript::measured_sections tallies
them per section. The report prints that tally and marks every section
it does not interpret:
measurements 2588 in 19 section(s)
16 120-measure/cache-topology - carried, not interpreted
18 136-kernel/handoff - carried, not interpreted
2443 140-oracle/kexport-table
Eighteen of the nineteen still say carried, not interpreted, and that is the honest state. The change is not that the reader understands them; it is that the reader can no longer imply it does. The tally is also the work list, ranked by how much evidence each line represents.
Grading
A measurement is graded exactly as a behaviour is:
Oracle::Measured only when the operator asserts the run was
on the target, Oracle::Assumed otherwise (D246). Nothing
about a number being a number lets it escape that - a cache line size
measured on a stand-in describes the stand-in.
--is-target is required, and its absence is easy
to misread. Without it a genuine console run reports
measured 0, which looks like a run that established nothing
rather than a run whose grading was never asserted. The reader prints
the origin first for this reason; it is worth knowing before the numbers
are read.
What is not parsed
The value stays a String. Most are hexadecimal and some
are not, and a reader that guessed would turn a correct measurement into
a wrong one without changing a character of the record.
Measurement::number parses on request and answers
None when it cannot - 0x10 is sixteen,
10 is ten, and neither is silently the other.
And it is not the only one
measure was the largest unread class, not the only one.
What still falls to Record::Other across the three
reports:
import responsive size module progress region modtier display
tally resume meta guard frontier end context
tests/conformance.rs has always pinned that an
unrecognised kind is kept verbatim rather than dropped, and it named
measure among the kinds deliberately left alone because no
real output had ever carried one. That reasoning was correct when it was
written and is now overtaken by evidence, so measure comes
off the list and the rest stay on it - on exactly the same terms, and
each should graduate the same way when material turns up for it.