When false positives exceed 30%, add guard clauses — context checks that must pass before the action executes
Add qualifying guard clauses to behavioral triggers when false positives exceed 30% of total activations, inserting context checks that must pass before the main action executes.
Why This Is a Rule
Guard clauses are the behavioral equivalent of software's defensive checks: lightweight conditions evaluated before the main action that filter out contexts where the trigger shouldn't produce behavior. "When I finish a meeting" is a trigger. "...AND the next 30 minutes are unscheduled" is a guard clause that prevents the agent from firing when back-to-back meetings make the action impossible.
The 30% false-positive threshold is the intervention point: below 30%, the trigger's precision is acceptable (>70%) and guard clauses would add unnecessary cognitive overhead. Above 30%, the trigger fires in the wrong context often enough to erode trust (Start triggers conservatively — 3-5 daily activations, not 30 — build trust through relevance before expanding sensitivity) and train you to ignore it. At this point, the overhead of checking a guard clause is less costly than the accumulated damage of false-positive dismissals.
Guard clauses work because they're evaluated after the trigger fires but before the action executes — they're a filter, not a replacement. The trigger still provides the activation energy. The guard clause just verifies the context is appropriate. This preserves the trigger's salience while adding precision.
When This Fires
- After one-week trigger logging (Classify trigger firings as true/false positives for one week before adjusting — single instances are noise, patterns are signal) reveals a false-positive rate above 30%
- When you notice yourself routinely dismissing a trigger because "not now" — that's false-positive data
- When a trigger fires in predictable inappropriate contexts — those contexts are your guard clause candidates
- During trigger calibration when increasing sensitivity (more firings) but needing to maintain precision
Common Failure Mode
Adding too many guard clauses, turning a simple trigger into a multi-step decision process: "When the alarm goes off AND I'm at home AND it's not raining AND I'm not tired AND I don't have a meeting in 30 minutes... go for a run." Each guard clause is a deliberation point that erodes the automaticity the trigger was designed to provide. One or two guard clauses filter false positives; five guard clauses recreate the deliberation the agent was supposed to eliminate.
The Protocol
(1) After logging trigger firings for one week (Classify trigger firings as true/false positives for one week before adjusting — single instances are noise, patterns are signal), calculate the false-positive rate. (2) If >30% → identify the most common false-positive context. What single condition would have filtered it? (3) Add that condition as a guard clause: "When [trigger] fires AND [guard clause passes] → execute action." (4) Run for another week. Reclassify firings. If FP rate is now <30% → stop. If still >30% → add one more guard clause for the next most common false-positive context. (5) Never exceed 2-3 guard clauses. If you need more, the trigger itself is wrong — redesign the trigger rather than adding more filters. (6) Scale guard clauses to consequence cost (Scale guard clause complexity to false-positive cost — low-stakes triggers need zero guards, high-consequence ones need multiple): a meditation prompt needs zero guards; a "send that difficult email" agent needs a context check.