The record set that refuses a figure with no instrument
One directory per project, a stated question before a stated answer, and every number carrying the instrument that produced it, the method behind it, and the number of samples it rests on. Without those three it is an estimate, and it says so.
Figures for the six governance repositories taken on 21 August 2026, those for Cartocortex on 17 October 2026, by running the test suites. None is copied from the README files.
The moment a plausible number becomes load-bearing
Most published benchmark figures would be refused at the door here. Not because they are wrong, but because nothing about them says how many runs they averaged or what measured the power. That gap is where a plausible number quietly becomes a load-bearing one.
Refusing it at the point of entry costs a few seconds per record. Discovering it three months later costs the result. This repository is the counterpart to the others: the place where the estimates they ship, every one labelled as such, will be met with a reading.
An unattributed figure is an anecdote
"The tool counts the gap itself and leaves no footnote to carry it."
Three refusals, and they are most of what the tool does. An entry that does not name its instrument does not go in. A gap between estimate and measurement is not computed while the measurement does not exist, and the tool says exactly what it is missing. And the record set permanently displays how many estimates no reading has replaced yet.
$ wb summary
energy-model-calibration 0 measured 7 estimate(s)
lora-range-survey 0 measured 0 estimate(s)
$ wb record --project energy-model-calibration --board uno-q \
--quantity inference --unit J --samples 0.71 0.68 0.74
wb: a measurement must name the instrument that produced it;
an unattributed figure is an anecdote
$ wb gap --project energy-model-calibration --quantity inference
wb: a gap needs one estimate and one measurement of the same quantity;
found 2 estimate(s) and 0 measurement(s)
The state shown is today's: no measurements, seven estimates, two of which concern the quantity queried by the third command. No board has been powered up yet, and this repository earns its value from the figures it refuses to accept.
One hundred and fifty-seven tests, most of them negative
Run on 21 August 2026 against the public repository. The repository's own README still says 150. The suite mostly exercises what the tool rejects, which is the only way to test something whose function is to refuse.
| Group | Tests | What it exercises |
|---|---|---|
test_repository.py | 31 | The record set, its write rules and what it refuses to store |
test_record.py | 23 | The shape of a record, and the fields without which it does not exist |
test_naming.py | 22 | The naming of projects, boards and quantities |
test_cli.py | 17 | The command-line interface, refusals included |
test_security.py | 14 | What the tool does with a file it did not write |
test_stats.py | 14 | The statistics and the estimate-to-measurement gap |
test_smoke, store, inventory, canonical, functional | 36 | Start-up, storage, hardware inventory, canonical form and end to end |
| Total | 157 | 97 % |
The integration gate chains static analysis, strict typing, source security review and a 90 per cent coverage floor. The repository has no runtime dependencies, and its file parser is fuzzed.
The known gaps, as the repository states them
The repository's threat model lists six residual risks. The fifth is the most important, and it is the one this repository exists to close.
- No bench acceptance test. The suite proves the tool is honest about figures; it cannot prove a figure is right, because nothing has been measured yet. Closing this gap needs an instrument reading a known load.
- Sample provenance stops at the operator's word. The instrument field is a string typed by a person, and nothing links a reading to the part that produced it. Automated capture straight from the INA219 into the record set is the next tool.
- Test conditions are free-form. Nothing enforces that a thermal state is recorded, so two incomparable figures can sit side by side looking comparable.
- The file is neither chained nor signed. Anyone with write access can produce a consistent doctored file that loads cleanly. The defence against a colleague with commit rights is code review and history, not cryptography.
- The hardware inventory also states what each board will never do. None is a certified safety controller, and the repository records that board by board rather than leaving the reader to assume it.
Four documents, in the order they are read
- docs/GETTING_STARTED.mdAssumes neither a terminal nor Python, and takes about twenty minutes.
- docs/MEASUREMENT.mdWhat constitutes a measurement, and what does not.
- docs/HARDWARE.fr.mdThe five boards, what each one opens and what it will never do.
- docs/THREAT_MODEL.mdThe six residual risks, stated without mitigation.
A governance claim is verifiable, or it is worth nothing
The code of each link is public. To discuss this work, write to the author.