<commit_before>package com.getbootstrap.no_carrier.github

import java.time.{Clock, Instant, Duration}
import com.jcabi.github.Issue
import com.getbootstrap.no_carrier.util._
import com.getbootstrap.no_carrier.github.util._
import InstantOrdering._

class FancyIssue(val issue: Issue, val label: String, val timeout: Duration)(implicit clock: Clock) {
  lazy val lastLabelledAt: Instant = issue.lastLabelledWithAt(label).get
  lazy val lastCommentedOnAt: Instant = issue.smartComments.map{ _.createdAt.toInstant }.max
  lazy val lastClosedAt: Option[Instant] = issue.smartEvents.filter{ _.isClosed }.map{ _.createdAt.toInstant }.maxOption
  lazy val hasSubsequentComment: Boolean = lastLabelledAt < lastCommentedOnAt
  lazy val wasClosedAfterLabelling: Boolean = lastClosedAt match {
    case None => false
    case Some(closedAt) => lastLabelledAt < closedAt
  }
  lazy val isPastDeadline: Boolean = lastLabelledAt isBeyondTimeout timeout
  lazy val opNeverDelivered: Boolean = isPastDeadline && !wasClosedAfterLabelling && !hasSubsequentComment<commit_msg>An issue's description doesn't count as a comment<commit_after>package com.getbootstrap.no_carrier.github

import java.time.{Clock, Instant, Duration}
import com.jcabi.github.Issue
import com.getbootstrap.no_carrier.util._
import com.getbootstrap.no_carrier.github.util._
import InstantOrdering._

class FancyIssue(val issue: Issue, val label: String, val timeout: Duration)(implicit clock: Clock) {
  lazy val lastLabelledAt: Instant = issue.lastLabelledWithAt(label).get
  lazy val lastCommentedOnAt: Option[Instant] = issue.smartComments.map{ _.createdAt.toInstant }.maxOption
  lazy val lastClosedAt: Option[Instant] = issue.smartEvents.filter{ _.isClosed }.map{ _.createdAt.toInstant }.maxOption
  lazy val hasSubsequentComment: Boolean = lastCommentedOnAt match {
    case None => false
    case Some(commentedAt) => lastLabelledAt < commentedAt
  }
  lazy val wasClosedAfterLabelling: Boolean = lastClosedAt match {
    case None => false
    case Some(closedAt) => lastLabelledAt < closedAt
  }
  lazy val isPastDeadline: Boolean = lastLabelledAt isBeyondTimeout timeout
  lazy val opNeverDelivered: Boolean = isPastDeadline && !wasClosedAfterLabelling && !hasSubsequentComment
{'fraction_non_alphanumeric': 0.08559964333481944, 'fraction_numerical': 0.0, 'mean_word_length': 5.6985074626865675, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '981863', 'n_tokens_mistral': 717, 'n_tokens_neox': 663, 'n_words': 173}