@@ -108,7 +108,10 @@ func New(repoPath string, logger *slog.Logger) *Engine {
108108 }
109109 tid := generateTraceID ()
110110 tools := iteragent .DefaultTools (repoPath )
111- skills , _ := iteragent .LoadSkills ([]string {filepath .Join (repoPath , "skills" )})
111+ skills , err := iteragent .LoadSkills ([]string {filepath .Join (repoPath , "skills" )})
112+ if err != nil {
113+ slog .Warn ("failed to load skills, agent will run without them" , "err" , err )
114+ }
112115 e := & Engine {
113116 repoPath : repoPath ,
114117 repo : repo ,
@@ -154,6 +157,8 @@ func (e *Engine) loadPRState() {
154157 }
155158 var state PRState
156159 if err := json .Unmarshal (data , & state ); err != nil {
160+ e .logger .Warn ("pr_state.json is corrupted, clearing it" , "err" , err )
161+ os .Remove (path )
157162 return
158163 }
159164 e .prNumber = state .PRNumber
@@ -368,8 +373,11 @@ func (e *Engine) handlePRReviewAndMerge(ctx context.Context, p iteragent.Provide
368373 result .PRURL = e .prURL
369374 _ = e .appendLearningJSONL (firstLine (extractCommitMessage (output )), "evolution" , "" , "" )
370375 e .appendJournal (result , output , p .Name (), true )
376+ e .clearPRState ()
371377
372- _ = e .switchToMain (ctx )
378+ if err := e .switchToMain (ctx ); err != nil {
379+ e .logger .Warn ("failed to switch to main after merge" , "err" , err )
380+ }
373381}
374382
375383// auditLog appends a tool call or error to .iterate/audit.jsonl for debugging.
0 commit comments