Measure. Verify. Enforce. Certify.
StunAssure is not a camera that guesses. It is a fail-safe verification stack re-anchored on the physics of stunning — four layers, each closing a gap where the science exists but the verification layer does not.
From “monitor & report” to verify & certify.
The crowded approach films fish and infers welfare from movement — but a fish can be immobile and still conscious. StunAssure instead measures the stun physically, verifies insensibility, enforces the wake-before-death window, and certifies the batch statistically. Each layer fills a field/translation gap: low scientific risk, high implementation novelty.
Decided in order, aggregated conservatively.
The worst layer dominates the verdict — we never average a failure away. Anything not positively confirmed is UNCERTAIN → manual check, never a pass.
- Dose
- Recovery-clock
- Echo-Stun
- Welfare-by-Sampling
-
01
Dose
Was an adequate electrical dose delivered? Field strength × duration vs the cited species spec, interpreted through water conductivity.
Ready now Cheap inline logger; no species spec (sea bream) → UNCERTAIN, never invented.
-
02
Recovery-clock
Was the fish bled before it could wake? Electrical stunning is reversible — salmon can recover from ~44 s. We time stun→bleed against a cited per-species threshold.
Ready now The hazard nobody logs today; RSPCA mandates ≤15 s stun-to-bleed.
-
03
Echo-Stun optional
A cheap electrical evoked-response “insensibility index” — the first low-cost proxy for lab-only EEG, modelled on the human BIS anesthesia monitor.
Research Contact variant de-risked; never gates the cheaper tiers.
-
04
Welfare-by-Sampling
Certify a whole batch at stated confidence from a small validated subsample — importing ISO 2859 acceptance sampling, which welfare auditing has never used.
Ready now EU law leaves welfare sampling ad hoc; this gives a defensible confidence statement.
Edge inputs → conservative engine → signed record.
Verification logic has zero runtime dependencies — it runs on a Raspberry Pi or a phone, offline, not only in the cloud.
A false “safe” is the dangerous error — so we engineer against it.
Uncertainty never passes
Missing or un-verifiable evidence is UNCERTAIN → manual check, never a pass. A species with no published electrical spec cannot be certified on dose.
The recovery window is hard
If the stun→bleed interval exceeds the species recovery threshold, the verdict is FAIL — the fish risks waking before death.
The worst layer wins
Layers aggregate conservatively. One failing layer fails the verdict; we never average a failure away into a comfortable middle.
Heartbeat is not a proxy
The fish heart is myogenic — it beats for minutes after brain death — so a heartbeat is explicitly rejected as evidence of insensibility.
The core already exists — and it’s tested.
The verification engine is a working, zero-dependency prototype. You can run it yourself in the live demo.
| Architecture component | Prototype module | Status |
|---|---|---|
| Species threshold library (cited) | species.py | Built |
| Verification engine (dose · recovery · echo · aggregate) | engine.py | Built · tested |
| Welfare-by-Sampling (AQL) | sampling.py | Built · tested |
| Signed batch report (SHA-256) | report.py | Built · tested |
| Batch simulator / demo harness | simulator.py · cli.py | Built |
| Inline stun-dose + recovery logger | firmware (ESP32) | Design |
| Echo-Stun signal processing | evoked-response module | Research |