Most reactive behavior doesn’t feel reactive while it’s happening. It feels like genuine interest, appropriate concern, or a reasonable response to what just happened. That’s exactly what makes it hard to catch in real time — by the time it’s obviously reactive, the message is already sent. The Reactive–Control Model’s answer to this is the Decision Filter: three questions, meant to be run before the action, not analyzed after it.

Why a filter, and not a rule

Rules like “never text first” or “always wait three hours” fail because they don’t account for context — sometimes the reactive move and the correct move look identical from the outside. The Decision Filter isn’t a rule about what to do. It’s a check on where the impulse is coming from. The same action — sending a message — can be Control State or Reactive State depending entirely on what produced it, and the filter is built to expose that difference before the action happens rather than after.

The three questions

Q1: Am I about to react — or respond?

React means the behavior is driven by discomfort — the itch to do something about an uncomfortable feeling. Respond means the behavior is driven by an actual decision, made from a standard that existed before this specific moment of discomfort showed up. If the honest answer is “react,” the instruction is simple: stop. Hold for sixty seconds before doing anything. Most of what would have been sent in that window doesn’t get sent once the sixty seconds pass.

Q2: If she could read my exact emotional state right now, would I be comfortable with that?

This question exists to expose the signal about to be transmitted, independent of the words chosen. A message can be worded neutrally and still transmit anxiety, urgency, or a need for reassurance underneath the wording — and the RCM’s position is that the underlying state usually gets read regardless of the phrasing used to disguise it. If the answer is no, the fix isn’t better wording. It’s waiting until the actual internal state is one that would hold up to being seen directly.

Q3: Is this serving the connection — or my anxiety?

This is the question that does the most work, because most reactive behavior is genuinely convinced it’s the first thing. A follow-up text framed as “just being thoughtful” and a follow-up text driven by needing to know she’s not upset can be word-for-word identical — the only difference is which one is actually producing it. Q3 forces that distinction to the surface before the action, when it’s still possible to choose differently.

Applying it to a real scenario

Take a common trigger: she hasn’t replied in four hours, and the read receipt shows the message was seen an hour ago. The urge is to send something — a follow-up, a joke to “lighten it up,” a question to check if everything’s okay.

Run the filter. Q1: is the urge to send something coming from a decision made before this moment, or from the discomfort of not knowing why she hasn’t replied? Usually, honestly, the latter — which already answers the question. Q2: would he be comfortable if she could see that the real reason for the message is needing to resolve the uncertainty, not something time-sensitive he actually needs to say? Usually not. Q3: is a follow-up right now serving the connection, or is it serving the anxiety of an unanswered message? For most people, in this exact scenario, it’s the anxiety.

Three “reactive” answers means the filter has done its job — not by producing a clever line to send instead, but by preventing an action that would have transferred control to the discomfort rather than to a decision.

Why this connects to Frame Collapse and Validation Debt

The Decision Filter isn’t a standalone trick — it’s the RCM’s general-purpose tool for interrupting two of the four failure modes directly. Frame Collapse is corrected by running Q1 in the moment of pressure. Validation Debt is corrected by running Q3 before any action whose real purpose is generating a reaction rather than expressing a genuine decision. The filter is what the Control Loop — trigger, pause, decision, position held — looks like in practice: the pause is running these three questions.

For the complete framework this filter belongs to, see the RCM page. The Field Companion includes a live version of the filter for logging real situations as they happen, rather than reconstructing them from memory afterward.