Skip to content

Commit 6fced12

Browse files
committed
fix(session): save skip marker summary for insufficient observations to prevent re-processing loop
1 parent 8e9d928 commit 6fced12

1 file changed

Lines changed: 40 additions & 2 deletions

File tree

crates/service/src/session_service.rs

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -217,18 +217,56 @@ impl SessionService {
217217
error = %e,
218218
"Failed to fetch observations for session summary"
219219
);
220+
let error_summary = SessionSummary::new(
221+
SessionId::from(session.session_id.clone()),
222+
session
223+
.project
224+
.clone()
225+
.unwrap_or_else(|| ProjectId::new("unknown")),
226+
None,
227+
None,
228+
Some(format!(
229+
"Summary generation failed: unable to fetch observations ({e})"
230+
)),
231+
None,
232+
None,
233+
None,
234+
Vec::new(),
235+
Vec::new(),
236+
None,
237+
None,
238+
Utc::now(),
239+
);
220240
let _ = self
221241
.storage
222-
.guarded(|| self.storage.delete_summary(&session.session_id))
242+
.guarded(|| self.storage.save_summary(&error_summary))
223243
.await;
224244
continue;
225245
}
226246
};
227247

228248
if observations.len() < 2 {
249+
let skip_summary = SessionSummary::new(
250+
SessionId::from(session.session_id.clone()),
251+
session
252+
.project
253+
.clone()
254+
.unwrap_or_else(|| ProjectId::new("unknown")),
255+
None,
256+
None,
257+
Some("Session had insufficient observations for summarization.".to_owned()),
258+
None,
259+
None,
260+
None,
261+
Vec::new(),
262+
Vec::new(),
263+
None,
264+
None,
265+
Utc::now(),
266+
);
229267
let _ = self
230268
.storage
231-
.guarded(|| self.storage.delete_summary(&session.session_id))
269+
.guarded(|| self.storage.save_summary(&skip_summary))
232270
.await;
233271
continue;
234272
}

0 commit comments

Comments
 (0)