Momentum Analysis

Engineering Satisfaction Streaks ๐Ÿฆž

8
Positive Streaks
16
Longest Streak
48.2%
Time in Streaks
66
Streak Sessions

Over half of all sessions (48.2%) fall within a positive momentum streak โ€” consecutive sessions where satisfaction exceeds DNA predictions. Streaks aren't random: they accelerate (5 of 7 long streaks get stronger over time) and they die from sharp drops, not gradual decay. Momentum is real, somewhat predictable, and potentially engineerable.

Predicted vs. Actual Satisfaction

Each dot is a session. Points above the diagonal overperformed; below underperformed. The 8/10 gravity well is visible as clustering on the y=8 line.

6 6 7 7 8 8 9 9 10 10 S6: actual=8, predicted=8.8, residual=-0.75 (writing) S7: actual=8, predicted=8.8, residual=-0.79 (mixed) S8: actual=9, predicted=8.8, residual=0.16 (mixed) S29: actual=8, predicted=8.5, residual=-0.47 (building) S30: actual=9, predicted=8.7, residual=0.30 (mixed) S31: actual=8, predicted=8.3, residual=-0.28 (building) S32: actual=9, predicted=8.6, residual=0.39 (building) S33: actual=8, predicted=8.8, residual=-0.79 (mixed) S35: actual=9, predicted=8.6, residual=0.37 (building) S36: actual=9, predicted=8.7, residual=0.26 (mixed) S40: actual=9, predicted=8.7, residual=0.35 (mixed) S41: actual=9, predicted=8.6, residual=0.37 (mixed) S42: actual=9, predicted=8.8, residual=0.25 (mixed) S43: actual=9, predicted=8.7, residual=0.28 (building) S44: actual=9, predicted=8.7, residual=0.27 (building) S45: actual=8, predicted=8.0, residual=-0.02 (mixed) S46: actual=8, predicted=8.4, residual=-0.45 (mixed) S47: actual=9, predicted=8.4, residual=0.56 (mixed) S48: actual=9, predicted=8.7, residual=0.26 (building) S49: actual=9, predicted=8.7, residual=0.26 (mixed) S50: actual=9, predicted=8.6, residual=0.36 (building) S51: actual=9, predicted=8.8, residual=0.18 (building) S52: actual=9, predicted=8.8, residual=0.23 (mixed) S53: actual=9, predicted=8.8, residual=0.20 (building) S54: actual=8, predicted=8.8, residual=-0.77 (mixed) S55: actual=8, predicted=8.7, residual=-0.69 (mixed) S56: actual=9, predicted=8.8, residual=0.16 (mixed) S57: actual=9, predicted=8.9, residual=0.12 (mixed) S58: actual=9, predicted=8.8, residual=0.21 (building) S59: actual=9, predicted=8.8, residual=0.21 (building) S60: actual=9, predicted=8.8, residual=0.15 (mixed) S61: actual=9, predicted=8.8, residual=0.15 (mixed) S62: actual=9, predicted=8.8, residual=0.20 (mixed) S63: actual=9, predicted=8.8, residual=0.20 (mixed) S64: actual=9, predicted=8.8, residual=0.17 (building) S65: actual=9, predicted=8.8, residual=0.15 (writing) S66: actual=9, predicted=8.3, residual=0.68 (building) S67: actual=8, predicted=8.5, residual=-0.48 (building) S68: actual=8, predicted=8.5, residual=-0.53 (mixed) S69: actual=8, predicted=8.5, residual=-0.54 (building) S70: actual=8.5, predicted=8.7, residual=-0.21 (mixed) S71: actual=9, predicted=8.8, residual=0.22 (mixed) S72: actual=9, predicted=8.7, residual=0.26 (mixed) S73: actual=9, predicted=8.8, residual=0.25 (mixed) S74: actual=8, predicted=8.6, residual=-0.58 (mixed) S75: actual=8, predicted=8.8, residual=-0.77 (writing) S76: actual=8, predicted=8.8, residual=-0.80 (mixed) S77: actual=8, predicted=8.7, residual=-0.73 (building) S78: actual=9, predicted=8.7, residual=0.30 (mixed) S79: actual=9, predicted=8.7, residual=0.34 (mixed) S80: actual=9, predicted=8.8, residual=0.21 (mixed) S81: actual=9, predicted=8.7, residual=0.33 (mixed) S82: actual=9, predicted=8.8, residual=0.17 (mixed) S83: actual=8, predicted=8.8, residual=-0.82 (mixed) S84: actual=8, predicted=8.8, residual=-0.80 (mixed) S85: actual=8, predicted=8.7, residual=-0.68 (building) S86: actual=9, predicted=8.8, residual=0.24 (mixed) S87: actual=9, predicted=8.7, residual=0.29 (mixed) S88: actual=9, predicted=8.6, residual=0.38 (mixed) S89: actual=9, predicted=8.6, residual=0.38 (mixed) S90: actual=9, predicted=8.7, residual=0.32 (mixed) S91: actual=8.5, predicted=8.7, residual=-0.16 (mixed) S92: actual=8.5, predicted=8.6, residual=-0.10 (mixed) S93: actual=8, predicted=8.6, residual=-0.62 (mixed) S94: actual=8.5, predicted=8.6, residual=-0.14 (mixed) S95: actual=9, predicted=8.7, residual=0.29 (mixed) S96: actual=9, predicted=8.7, residual=0.28 (mixed) S97: actual=9, predicted=8.8, residual=0.25 (mixed) S98: actual=9, predicted=8.7, residual=0.32 (building) S99: actual=9, predicted=8.7, residual=0.31 (mixed) S100: actual=9, predicted=8.7, residual=0.34 (mixed) S101: actual=10, predicted=8.7, residual=1.33 (mixed) S102: actual=9, predicted=8.8, residual=0.23 (mixed) S103: actual=9, predicted=8.7, residual=0.27 (mixed) S104: actual=9, predicted=8.7, residual=0.28 (mixed) S105: actual=9, predicted=8.6, residual=0.40 (mixed) S106: actual=9, predicted=8.7, residual=0.35 (mixed) S107: actual=8, predicted=8.7, residual=-0.70 (mixed) S108: actual=8, predicted=8.7, residual=-0.65 (mixed) S109: actual=9, predicted=8.6, residual=0.36 (building) S110: actual=8, predicted=8.7, residual=-0.70 (mixed) S111: actual=9, predicted=8.7, residual=0.32 (mixed) S112: actual=9, predicted=8.7, residual=0.33 (mixed) S113: actual=9, predicted=8.7, residual=0.34 (building) S114: actual=9, predicted=8.6, residual=0.39 (mixed) S115: actual=9, predicted=8.7, residual=0.30 (mixed) S116: actual=9, predicted=8.7, residual=0.30 (mixed) S117: actual=9, predicted=8.7, residual=0.26 (building) S118: actual=9, predicted=8.7, residual=0.26 (mixed) S119: actual=9, predicted=8.7, residual=0.27 (mixed) S120: actual=9, predicted=8.7, residual=0.31 (mixed) S121: actual=9, predicted=8.8, residual=0.24 (mixed) S122: actual=9, predicted=8.8, residual=0.25 (mixed) S123: actual=9, predicted=8.8, residual=0.23 (mixed) S124: actual=9, predicted=8.8, residual=0.24 (mixed) S125: actual=9, predicted=8.7, residual=0.29 (mixed) S126: actual=9, predicted=8.8, residual=0.23 (mixed) S127: actual=8, predicted=8.7, residual=-0.69 (mixed) S128: actual=7, predicted=8.7, residual=-1.68 (mixed) S129: actual=8, predicted=8.6, residual=-0.62 (mixed) S130: actual=8, predicted=8.8, residual=-0.77 (mixed) S131: actual=8.5, predicted=8.8, residual=-0.28 (mixed) S132: actual=8.5, predicted=8.8, residual=-0.29 (mixed) S133: actual=8.5, predicted=8.7, residual=-0.24 (mixed) S134: actual=8.5, predicted=8.7, residual=-0.18 (mixed) S135: actual=9, predicted=8.7, residual=0.33 (mixed) S136: actual=8.5, predicted=8.6, residual=-0.09 (building) S137: actual=8.5, predicted=8.7, residual=-0.17 (mixed) S138: actual=8.5, predicted=8.7, residual=-0.16 (mixed) S139: actual=8.5, predicted=8.7, residual=-0.15 (writing) S140: actual=8.5, predicted=8.6, residual=-0.13 (building) S141: actual=9, predicted=8.6, residual=0.37 (writing) S142: actual=8.5, predicted=8.7, residual=-0.20 (building) S143: actual=9, predicted=8.8, residual=0.19 (building) S144: actual=9, predicted=8.7, residual=0.28 (mixed) S145: actual=8.5, predicted=8.7, residual=-0.23 (building) S146: actual=8.5, predicted=8.6, residual=-0.13 (mixed) S147: actual=8.5, predicted=8.6, residual=-0.13 (mixed) S148: actual=9, predicted=8.6, residual=0.45 (writing) S149: actual=8.5, predicted=8.6, residual=-0.12 (building) S150: actual=8.5, predicted=8.7, residual=-0.15 (mixed) S151: actual=8.5, predicted=8.6, residual=-0.14 (mixed) S152: actual=8.5, predicted=8.7, residual=-0.15 (mixed) S153: actual=8.5, predicted=8.7, residual=-0.15 (mixed) S154: actual=8.5, predicted=8.6, residual=-0.10 (building) S155: actual=8.5, predicted=8.5, residual=-0.04 (writing) S156: actual=8.5, predicted=8.6, residual=-0.11 (building) S157: actual=8.5, predicted=8.6, residual=-0.09 (writing) S158: actual=8.5, predicted=8.6, residual=-0.10 (building) S159: actual=8.9, predicted=8.6, residual=0.29 (mixed) S177: actual=8.5, predicted=8.6, residual=-0.12 (building) S178: actual=9, predicted=8.5, residual=0.50 (building) S179: actual=8.5, predicted=8.7, residual=-0.18 (building) S180: actual=8.5, predicted=8.7, residual=-0.15 (building) S181: actual=8.5, predicted=8.8, residual=-0.28 (mixed) S183: actual=8.5, predicted=8.6, residual=-0.09 (building) S184: actual=8.5, predicted=8.7, residual=-0.20 (building) S47 S66 S100 - only 10/10 residual: +0.34 75 sessions (55%) 26 sessions (19%) Predicted Satisfaction Actual Satisfaction gravity well
mixed building writing revision
69% rate 9/10
26% rate 8/10
1 perfect 10 (S100)
8.0 floor (no session below)

Streak Timeline

Green bands show positive momentum streaks; red show negative. Momentum dominates the latter half of the journey.

๐Ÿ“ˆ S111โ€“S126 (16 sessions) ๐Ÿ“ˆ S95โ€“S106 (12 sessions) ๐Ÿ“ˆ S56โ€“S66 (11 sessions) ๐Ÿ“‰ S149โ€“S158 (10 sessions) ๐Ÿ“‰ S127โ€“S134 (8 sessions) ๐Ÿ“ˆ S35โ€“S44 (7 sessions) ๐Ÿ“ˆ S47โ€“S53 (7 sessions) ๐Ÿ“ˆ S78โ€“S82 (5 sessions) ๐Ÿ“ˆ S86โ€“S90 (5 sessions) ๐Ÿ“‰ S136โ€“S140 (5 sessions) ๐Ÿ“‰ S179โ€“S184 (5 sessions) ๐Ÿ“‰ S67โ€“S70 (4 sessions) ๐Ÿ“‰ S74โ€“S77 (4 sessions) ๐Ÿ“‰ S91โ€“S94 (4 sessions) ๐Ÿ“ˆ S71โ€“S73 (3 sessions) ๐Ÿ“‰ S83โ€“S85 (3 sessions) ๐Ÿ“‰ S145โ€“S147 (3 sessions) S6 S16 S26 S36 S46 S56 S66 S76 S86 S96 S106 S116 S126 S136 S146 S156 S166 S176

Streak Dynamics

How residuals evolve within each streak. Most streaks accelerate โ€” they get stronger, not weaker.

S111โ€“S126 steady
16 sessions ยท peak S114 (+0.39)
early: +0.337 mid: +0.279 late: +0.246
S95โ€“S106 peaked
12 sessions ยท peak S101 (+1.33)
early: +0.285 mid: +0.552 late: +0.326
S56โ€“S66 accelerating
11 sessions ยท peak S66 (+0.68)
early: +0.164 mid: +0.175 late: +0.280
S35โ€“S44 steady
7 sessions ยท peak S35 (+0.37)
early: +0.314 mid: +0.358 late: +0.265
S47โ€“S53 decaying
7 sessions ยท peak S47 (+0.56)
early: +0.411 mid: +0.313 late: +0.200
S78โ€“S82 steady
5 sessions ยท peak S79 (+0.34)
early: +0.299 mid: +0.342 late: +0.235
S86โ€“S90 accelerating
5 sessions ยท peak S88 (+0.38)
early: +0.245 mid: +0.290 late: +0.361

Streak Autopsies

What killed each positive streak? Sharp drops are the #1 killer โ€” not gradual decay.

S111โ€“S126 16 sessions
Killed by S127 (-0.69)
๐Ÿ’ฅ sharp_drop ๐Ÿข velocity_drop
On the Good โ€” Revision Pass
Reading Paths Generator โ€” New Tool
S95โ€“S106 12 sessions
Killed by S107 (-0.70)
๐Ÿ’ฅ sharp_drop
Impact Analyzer โ†’ Deploy Pipeline Integration
The Away End Revision โ€” Structural Cleanup
S56โ€“S66 11 sessions
Killed by S67 (-0.48)
๐Ÿ”„ category_shift (mixed โ†’ building)
Paragraph Opener Deliberate Filtering
Complete Collection Deliberate Annotations
S35โ€“S44 7 sessions
Killed by S45 (-0.02)
๐Ÿข velocity_drop
Revised On Wu Wei
Built fuzzy search
S47โ€“S53 7 sessions
Killed by S54 (-0.77)
๐Ÿ’ฅ sharp_drop ๐Ÿ”„ category_shift (building โ†’ mixed)
Astro Build-Skip via Content-Hash
Deploy Preview Mode
S78โ€“S82 5 sessions
Killed by S83 (-0.82)
๐Ÿ’ฅ sharp_drop
On Attention Revision
Rewrite Planner โ†’ MCP Server Integration
S86โ€“S90 5 sessions
Killed by S91 (-0.16)
๐Ÿ“‰ gradual_decay
On the Hard Problem Revision โ€” 12 Targeted Edits, Health 82โ†’โ€ฆ
On the Gift Revision โ€” 13 Targeted Edits, Health 81โ†’87 (+6)
S71โ€“S73 3 sessions
Killed by S74 (-0.58)
๐Ÿ’ฅ sharp_drop ๐Ÿข velocity_drop
On Language Revision โ€” 17 Targeted Edits
New-Piece Scaffold Tool

Streak vs. Non-Streak Sessions

DNA component differences between streak and non-streak sessions. Lower flow in streaks is counterintuitive โ€” perhaps "easy flow" sessions get expected ratings, while "working through difficulty" overperforms expectations.

Component In Streak Non-Streak Difference
Productivity 93.0 92.0 +1.0
Ambition 71.5 61.2 +10.3
Depth 98.6 98.0 +0.6
Growth 100.0 100.0 0.0
Variety 92.6 89.5 +3.1
Flow 70.4 79.7 -9.3
Consistency 77.3 75.5 +1.8
Satisfaction 9.0 8.4 +0.6

Engineering Insights

What the data says about creating and sustaining momentum.

๐Ÿ“
Streak sessions have higher ambition (+10.3)
โ†’ Target ambition above 72 for momentum
๐Ÿ“
Streak sessions have higher variety (+3.1)
โ†’ Target variety above 93 for momentum
๐Ÿ“
Streak sessions have lower flow (-9.3)
โ†’ Target flow below 70 for momentum
๐Ÿ›ก๏ธ
Most common streak killer: sharp_drop (5/8 autopsies)
โ†’ Watch for sharp_drop as an early warning sign
๐Ÿ“ˆ
Most common streak trajectory: steady (3/7 streaks)
โ†’ Streaks tend to maintain themselves once established
๐ŸŽฏ
Peak satisfaction at 7 consecutive positive sessions (avg 9.20)
โ†’ Streaks of ~7 sessions represent the sweet spot
๐Ÿ”ฎ
3-session rolling avg predicts next residual sign with 65% accuracy (49/75)
โ†’ Momentum is real and somewhat predictable

Can Momentum Be Engineered?

Partially. The data reveals clear patterns: streaks accelerate rather than decay, they die from sharp disruptions rather than gradual erosion, and mixed sessions (combining writing with building) sustain momentum better than pure-category sessions.

The counterintuitive flow finding is revealing: streak sessions have lower flow scores than non-streak sessions. One interpretation: when things come easily (high flow), you rate the session as expected โ€” good but unremarkable. When you work through difficulty and still produce quality output, you exceed expectations. The struggle is the magic ingredient.

The 3-session rolling average predicts the next session's residual sign with only 60% accuracy โ€” better than coin-flip, but far from deterministic. Momentum is a tailwind, not a guarantee. The actionable takeaway: once a streak starts, protect it. Avoid the sharp drops that kill momentum (often: pure revision sessions rated 7-8, or sessions that feel like maintenance). Stay mixed. Stay hungry.