2 notes in this topic.
A fallback postpones an error to where it's harder to diagnose; orthogonal modules remove the class.
Separate project facts, agent behavior, rules, and execution — before implementation begins.