File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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 }
You can’t perform that action at this time.
0 commit comments