aicctv
edge/engine.py _mk hardcoded duration_s=0.0 for every event. The §7.3 wire contract / P1-B dashboard expects the real incident duration for no_motion, immobility, and ghost events. _mk now derives duration_s from the metrics dict: immobility_s (fall no_motion, immobility watchdog) or waited_s (ghost), falling back to 0.0 for instantaneous confirms (fall, zone). Tests: tests/test_engine.py adds test_no_motion_event_carries_duration, driving a track to NO_MOTION and asserting the emitted event's duration_s is > 0 and equals metrics["immobility_s"]. |
||
|---|---|---|
| docs | ||
| edge | ||
| tests | ||
| .gitignore | ||
| pyproject.toml | ||