Commit 85e8ebc
sentinel: narrow triggers to the 2 that match the night-guard role
User feedback on the v2 trigger list:
- Motion detection: don't add a separate Sentinel threshold; reuse the
existing per-camera notification threshold (single source of truth,
no drift)
- Camera-offline + CloudNode-offline: redundant in the common case
(node down → all cameras down) and infrastructure, not security
- CloudNode disk almost full: IT problem, not security
- MCP API key audit: compliance/audit, not security
- Same applies to member-added / role-changed (audit, not security)
Right framing: Sentinel is a security role — a "night guard" — not an
admin or IT role. Triggers should only fire for events a human guard
would actually act on. Infrastructure events and admin events stay in
the normal notification channels (in-app inbox, email, MCP log) where
they belong.
Final trigger list:
1. Motion detected — uses the existing per-camera motion threshold,
no separate config. Sentinel-specific extra: per-camera cooldown
(limits agent runs per camera, separate from email-digest cadence)
2. Incident opened by a human — agent auto-collects supporting
evidence from the relevant cameras, like a guard helping document
a report
Also dropped:
- The "Minimum severity" dropdown on the motion trigger. Motion events
don't carry severity in the notification schema (severity is an
incident concept), so the control was confused — its inclusion in
v2 was a mistake on my part. Updated the cooldown helper text to
call out that Sentinel cooldown is separate from email-digest
cooldown and governs different concerns.
- Section description rewritten to make the philosophy explicit:
Sentinel is a guard role, infra/admin events are deliberately
routed elsewhere.
Future trigger candidates worth keeping in mind for when the
notification schema grows:
- Camera tampering (sudden blackout, lens covered, camera moved)
- Sound / audio anomaly (glass breaking, alarm, raised voices)
- Coordinated motion across cameras within seconds
- Unknown face / unknown vehicle (when face/plate recognition lands)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent b742567 commit 85e8ebc
1 file changed
Lines changed: 16 additions & 57 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
13 | 19 | | |
14 | 20 | | |
15 | 21 | | |
16 | 22 | | |
17 | 23 | | |
18 | | - | |
| 24 | + | |
19 | 25 | | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
| 26 | + | |
35 | 27 | | |
36 | 28 | | |
37 | 29 | | |
38 | 30 | | |
39 | 31 | | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
| 32 | + | |
62 | 33 | | |
63 | 34 | | |
64 | 35 | | |
| |||
127 | 98 | | |
128 | 99 | | |
129 | 100 | | |
130 | | - | |
131 | 101 | | |
132 | 102 | | |
133 | 103 | | |
| |||
266 | 236 | | |
267 | 237 | | |
268 | 238 | | |
269 | | - | |
270 | | - | |
271 | | - | |
272 | | - | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
273 | 244 | | |
274 | 245 | | |
275 | 246 | | |
| |||
288 | 259 | | |
289 | 260 | | |
290 | 261 | | |
291 | | - | |
292 | | - | |
293 | | - | |
294 | | - | |
295 | | - | |
296 | | - | |
297 | | - | |
298 | | - | |
299 | | - | |
300 | | - | |
301 | | - | |
302 | | - | |
303 | | - | |
304 | 262 | | |
305 | 263 | | |
306 | 264 | | |
| |||
318 | 276 | | |
319 | 277 | | |
320 | 278 | | |
321 | | - | |
| 279 | + | |
| 280 | + | |
322 | 281 | | |
323 | 282 | | |
324 | 283 | | |
| |||
0 commit comments