docs: def build(self, run_data: dict) -> models.Analysis:
          """Build a new Analysis object."""
          existing_run = self.store.find_analysis(family=run_data['family'],
                                                  started_at=run_data['started_at'],
                                                  status=run_data['status'])
          if existing_run:
              return None
  
          run_data['user'] = self.store.user(run_data['user'])
          new_failed_jobs = [self.store.Job(**job) for job in run_data['failed_jobs']]
          del run_data['failed_jobs']
          new_run = self.store.Analysis(**run_data)
          new_run.failed_jobs = new_failed_jobs
          return new_run