Skip to content
How to ThinkIn the Age of AI
Rulev2RL-430

When false positives exceed 30%, add guard clauses…

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…) 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…) 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…), 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…): a meditation prompt needs zero guards; a "send that difficult email" agent needs a context check.