Decouple independent sub-behaviors into separate agents — coupled sequences produce cascading failures when one step breaks
When agent sub-behaviors can execute independently without logical dependency, separate them into distinct agents with independent triggers rather than coupling them into sequences, because coupled agents produce cascading failures.
Why This Is a Rule
Software engineers learned decades ago that tightly coupled components produce cascading failures: when one module fails, everything that depends on it fails too. The same principle applies to behavioral agent design. If your "morning routine" is a single coupled sequence — meditate → journal → exercise → review goals — then skipping meditation (you overslept) cascades: "I already broke the routine, so I'll skip journaling too." By lunch, the entire sequence has failed because one step did.
Decoupled agents with independent triggers don't cascade. "When I sit at my desk → journal for 5 minutes" fires regardless of whether meditation happened. "When I finish my first coffee → review goals" fires regardless of whether exercise happened. Each agent stands alone. If one fails, the others are unaffected because they have independent triggers rather than depending on the previous step's completion.
The test is logical dependency: does Step B genuinely require Step A's output? Brushing teeth requires toothpaste (coupled). But journaling doesn't require meditation — they happen to occur in sequence out of convenience, not necessity. Convenience sequences masquerading as dependency chains are where cascading failure hides.
When This Fires
- When designing multi-step behavioral routines (morning, evening, work startup)
- When one missed step in a routine causes you to abandon the entire sequence
- During agent architecture review when assessing failure modes
- When a routine "never works" because any disruption cascades through all steps
Common Failure Mode
Designing monolithic routines: "My morning routine is: wake at 6, meditate 20 min, cold shower, journal, exercise, review goals, start work." This 7-step coupled sequence has a reliability equal to the product of each step's individual reliability. If each step fires at 90%, the whole sequence fires at 0.9^7 = 48%. Decoupled, each step maintains its 90% independently, and 6 of 7 firing is the expected outcome rather than a "broken routine."
The Protocol
(1) For any multi-step behavioral sequence, list each sub-behavior. (2) For each pair, ask: "Does the second genuinely require the first's output?" (3) If yes → keep coupled. The dependency is real (can't review notes you haven't written). (4) If no → decouple. Give each sub-behavior its own trigger: a time, an event, a location change, or a prior completion that isn't part of the sequence. (5) Test: skip one agent deliberately. Do the others still fire? If not → there's hidden coupling you missed. Find independent triggers for each. (6) Accept that decoupled agents may execute in different orders on different days. This is a feature, not a bug — it means they're genuinely independent.