1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
//! Events for `AwaitingDevFix` phase.
//!
//! This phase handles pipeline failure remediation with escalating recovery strategies.
use crateAgentRole;
use ;
// Import PipelinePhase from the parent event module (defined in mod.rs)
use cratePipelinePhase;
/// Events for `AwaitingDevFix` phase.
///
/// This phase handles pipeline failure remediation with escalating recovery strategies.
///
/// # When This Occurs
///
/// The `AwaitingDevFix` phase is entered when the pipeline encounters a terminal
/// failure condition (e.g., agent chain exhausted) in any phase. The pipeline
/// implements an aggressive recovery system with escalating strategies rather
/// than immediate termination.
///
/// # State Flow (Updated)
///
/// 1. Terminal failure detected (e.g., `AgentChainExhausted`)
/// 2. Reducer transitions to `AwaitingDevFix` phase
/// 3. `DevFixTriggered` event emitted
/// 4. Development agent invoked with failure context
/// 5. `DevFixCompleted` event emitted (attempt count incremented, level set)
/// 6. `RecoveryAttempted` event transitions back to failed phase
/// 7. Recovery attempt (retry same operation, or escalate to phase reset, etc.)
/// 8. If recovery fails, repeat steps 3-7 with escalating strategies:
/// - Level 1 (attempts 1-3): Retry same operation
/// - Level 2 (attempts 4-6): Reset to phase start
/// - Level 3 (attempts 7-9): Reset iteration counter
/// - Level 4 (attempts 10+): Reset to iteration 0
/// 9. Recovery is intentionally non-terminating for unattended operation.
/// Completion markers / termination are reserved for explicit safety valve or
/// catastrophic external paths (not attempt-count based escalation).
///
/// # Emitted By
///
/// - Dev-fix flow handlers in `handler/lifecycle.rs`
/// - Recovery handlers in `handler/context.rs`
/// - Completion marker handlers