Note · budding
Grading every claim a project makes
- Stage
- budding
- Links
- 1 out, 1 in
A sensing project invites claims that outrun the evidence. “Detects breathing” can mean a unit test passes on synthetic data, or that it was measured against a respiratory belt on real people, and a README rarely says which.
Aquila gives every claim one of five grades:
- gated: a check in CI fails if the claim stops being true
- measured: there is a recorded measurement
- claimed: asserted, with nothing behind it yet
- data-gated: cannot be settled until real data exists
- hardware-gated: cannot be settled until it runs on hardware
The claims live in a machine-readable file and again as a table in the documentation. A build task checks that the two match one for one, so a claim cannot be added to the prose without entering the ledger, and cannot leave the ledger while the prose still makes it.
The effect is that the project’s three headline targets are visibly targets. Torso keypoints within 20% for at least 65% of frames, presence F1 of at least 0.90 per zone, and breathing rate within 2 breaths per minute are all recorded as not yet met, and the numbers that exist are marked as coming from synthetic data. An uncalibrated presence threshold reports “unknown” instead of a guess.
It costs very little, and it makes the gap between what is written and what is known something a reader can see.
Projects
- Aquila Presence, occupancy and vital signs for Home Assistant, sensed from WiFi by ESP32-S3 nodes.
Projects
- Aquila Presence, occupancy and vital signs for Home Assistant, sensed from WiFi by ESP32-S3 nodes.