conversation dynamics analysis
transition matrix built from 23,262 labeled messages across ~4,656 threads.
transition matrix (row → column)
| from \ to | NEUTRAL | APPROVAL | QUESTION | STEERING |
|---|---|---|---|---|
| NEUTRAL | 76.8% | 8.9% | 7.9% | 6.4% |
| APPROVAL | 41.4% | 37.9% | 13.8% | 6.9% |
| QUESTION | 41.5% | 13.2% | 39.6% | 5.7% |
| STEERING | 50.0% | 10.0% | 10.0% | 30.0% |
key findings
healthy patterns
- NEUTRAL dominates — 77% of neutral messages lead to more neutral. stable equilibrium; the agent is executing without intervention.
- APPROVAL chains — 38% of approvals lead to more approval. indicates user satisfaction compounds.
- STEERING recovers — 50% of steering returns to neutral immediately. half of corrections work first try.
doom spiral indicators
- STEERING → STEERING at 30% — nearly a third of corrections require another correction. this is the doom loop.
- only 15 cases of 3+ consecutive steering in entire dataset — rare but distinct failure mode
- FRUSTRATED threads avg 1.7 steering vs RESOLVED at 0.46 — 3.7x higher steering in frustrated sessions
- STUCK thread has 4.0 avg steering — sample size of 1 but fits the pattern
recovery sequences
after STEERING, the most likely paths:
STEERING → NEUTRAL (50%) — immediate recovery ✓
STEERING → STEERING (30%) — correction cascade ⚠
STEERING → APPROVAL (10%) — user confirms fix worked
STEERING → QUESTION (10%) — agent seeks clarification
best recovery signal: when steering leads to approval, the user has validated the correction.
position effects
steering distribution by thread phase:
- early (0-33%): 3.2% of messages are steering
- mid (33-66%): 3.4% steering
- late (66-100%): 3.8% steering
slight uptick late = accumulated frustration or scope drift. early steering more likely about misunderstood intent.
question loops
QUESTION → QUESTION at 39.6% — agent asks, user asks back. not inherently bad (clarification dialogue) but can indicate confusion on both sides.
heuristics
- 2+ consecutive steering = yellow flag — check if scope was clear
- STEERING late in thread = possible scope creep — original task may have morphed
- APPROVAL → NEUTRAL is healthy exit — user approves, agent returns to flow
- QUESTION chains > 3 = both parties confused — consider reframing the task
thread examples with high steering
| thread | title | steering_count | outcome |
|---|---|---|---|
| T-b428b715… | Create implementation for project plan | 12 | RESOLVED |
| T-019b65b2… | Debug sort_optimization panic | 9 | UNKNOWN |
| T-0564ff1e… | Update TODO list | 8 | RESOLVED |
| T-f2f4063b… | Add hover tooltip | 8 | RESOLVED |
high steering doesn’t always mean failure — complex tasks may require more guidance. but UNKNOWN outcomes correlate with higher steering.