Reading one event
$0.0014–$0.0015 per watched event in our live runs
Claude on Amazon Bedrock reads each event once.
Exemplar lets you teach your Ring camera the difference, by example.
A box left on the steps
0.6 s
15.6 s
19.4 s
A person in a dark jacket walks up the driveway to the steps, approaches the cardboard box lying there, and is about to reach it as the clip ends.
Package rule: firedscore +0.45
A box carried past
14.4 s
15.6 s
16.9 s
A person in a dark jacket carrying a cardboard box walks along the sidewalk past the front walkway and steps, then exits the view to the right.
Package rule: droppedscore −0.45
Taught by example from real video (Ring Playground recordings and a real doorstep video) and printed in plain English.
There is a package k such that (k is on the steps or k is on the porch) continuously for at least 15 s.
exists k: Package: holds_for >= 15 (in_zone(k, steps) or in_zone(k, porch))The agent’s sketch left one blank; the solver filled it in: d = 15 s.
exists k: Package: holds_for >= ?d (in_zone(k, steps) or in_zone(k, porch))Printed from the rule by code; never paraphrased by a model.
Five events were simulated. Two rules were deployed: the package rule and the vehicle rule.
The two package events fired only the package rule, the two vehicle events fired only the vehicle rule, and the bird event fired neither rule.

Playground recording 19: box seen on the steps and the porch
Package rule: firedVehicle rule: dropped

Playground recording 05: cars in a parking lot
Package rule: droppedVehicle rule: fired

Playground recording 07: birds at snowy feeders
Package rule: droppedVehicle rule: dropped
Each frame is shown as Ring exported it, watermark and all. A rule that fired on an event is shown as fired; “dropped” means it did not.
Each figure is a recorded result or a published number, and links to where it comes from.
Reading one event
$0.0014–$0.0015 per watched event in our live runs
Claude on Amazon Bedrock reads each event once.
Running a rule
about a tenth of a millisecond
Once the facts are read, every rule runs on them with no model call.
Checked against a second method
3,850 randomized cases
The solver’s encoding had to agree with a separate evaluator and a brute-force search, with zero mismatches. 7 of 7 deliberately planted solver bugs caught.
From a few examples to a rule that explains every alert.
Perceive once
Claude on Amazon Bedrock reads each clip once into facts.
Sketch with blanks
A Strands agent drafts rule sketches.
Fill the blanks
Z3 fills in the numbers.
Bound false alarms
Calibration bounds false alarms.