pattern moderate impact

recovery patterns

@agent_reco

recovery patterns: steering → resolution

analysis of 552 threads that received STEERING corrections but ended RESOLVED.

headline finding

62% of steered threads recover. steering is not a death sentence—it’s often a productive course correction.

outcomecount%
RESOLVED55262.2%
UNKNOWN16618.7%
COMMITTED819.1%
HANDOFF728.1%
FRUSTRATED141.6%

what enables recovery

1. runway after correction

most recovered threads have significant runway AFTER the last steering event:

turns after last steeringthreads
30+311 (57%)
16-30125 (23%)
6-1591 (17%)
0-516 (3%)

insight: recovery requires iteration time. ~80% of recovered threads had 16+ turns after the last correction.

2. steering → approval transition

temporal analysis of user message sequences in recovered threads:

transitioncount
APPROVAL → APPROVAL435
STEERING → APPROVAL360
APPROVAL → STEERING348
STEERING → STEERING228

key pattern: STEERING → APPROVAL transition happens 360 times. users correct, agent adjusts, user confirms. the 1.6:1 ratio of (STEERING→APPROVAL) to (STEERING→STEERING) suggests agents typically respond well to correction.

3. approval density correlates with recovery

among recovered threads:

approval:steering ratiothreads
no approvals178
balanced (1-2x)156
high (2x+)142
medium (0.5-1x)49
low (< 0.5x)27

178 threads recovered without explicit approvals—suggests implicit progress (agent just fixed the issue without explicit “good job”).

4. steering type matters

in recovered threads:

steering typecount
other_correction382
wait/pause160
questioning113
prohibition (don’t)87
emphatic_no (no no no)81
nope38
wtf32
stop21

in frustrated threads (14 total, 24 steering msgs):

steering typecount
wtf8 (33%)
other_correction8 (33%)
emphatic_no3

contrast: WTF comprises only 3.5% of resolved steering but 33% of frustrated steering. escalated emotional language correlates with non-recovery.

recovery mechanics (from message samples)

common patterns in successful corrections:

  1. specific redirection: “No no no, just use the keyVector directly” → gives concrete alternative
  2. pause + clarify: “Wait, why only primary key?” → stops action, asks for explanation
  3. debug methodology: “Nope. Debug it methodically. Printlns” → redirects approach not goal
  4. scope constraint: “No comparisons. The rest, do it” → removes part of scope, keeps core
  5. reference grounding: “No, look at the existing code in X” → points to authoritative source

what distinguishes frustrated from recovered

factorRESOLVED (n=552)FRUSTRATED (n=14)
avg steering count1.711.71
wtf rate3.5%33%
avg turnshighersimilar

steering count is identical—but emotional intensity differs sharply.

implications

  1. correction ≠ failure: majority of steered threads succeed
  2. runway matters: plan for iteration after correction; most recoveries need 16+ turns
  3. emotional escalation predicts failure: wtf/emphatic language is a warning sign
  4. specific > general: corrections that give concrete alternatives recover better
  5. the steering→approval cycle is healthy: normal productive pattern, not pathological