MANDAG
2026-06-15

Too many projects, too many ideas, too few hours — one learning a day anyway

A physical invariant is a free hallucination detector

Sightglass is a Raspberry Pi pointing two cameras (via go2rtc) at the diesel sight glasses on my 1967 boat; a vision model reads the fuel level off each image and publishes it as an MQTT sensor for Home Assistant. Vision models misread — condensation, reflections, bad light. How do you catch a wrong answer with no ground truth?

Physics. The two tanks are coupled — they equalize, so they cannot genuinely differ; even a leak shows on both. Any disagreement between the two AI readings over 10% is, by definition, a misread: the service re-reads (up to twice) until they agree and never displays disagreeing numbers. Two more invariants guard the rest: fuel never rises by more than 1.5% on its own, and never falls faster than 3%/hour — faster than the engines can burn.

If your domain has an invariant, you have a validator the model can’t fool.