Five deterministic stages, one accountable event
Detection is deliberately permissive, while commitment is deliberately conservative. Nothing is written to the audit log until the pipeline is sure it is looking at a person, and not at a flicker.
Built like infrastructure, not like a demo
Every layer earns its keep: typed configuration, observable runtime, and evidence that stands up to review.
A straight line from camera to evidence
Each stage has one job, one input and one output. That linearity is what makes behaviour reproducible and bugs shallow.
Ten classes, each with its own confidence bar
Violations are derived, never assumed: a worker wearing the required item is compliant, and the matching absence class at a higher threshold records the finding. Context classes describe the scene and raise nothing on their own.
Installed and running in one command
Point the CLI at a webcam index or a recorded file. Events stream to the JSONL log while the run is live, and the stats block prints on exit.
Safety evidence from the cameras already on site.
Clone it, point it at a camera and watch a violation become a signed, chained record instead of an anecdote.