anchor.diff:    /// Results for this test on the configs in configSet (they all agree).
     final Result result;
   
  -  /// Change in results, as string "was, now, expected"
  +  /// MinMax of indices of commits before this change
     final MinMax previousCommits;
   
  -  /// MinMax of indices of commits before this change
  +  /// MinMax of indices of commits after or at this change.
     final MinMax commits;
  -
  -  /// MinMax of indices of commits after or at this change.
   
     SummaryData(this.configSetKey, this.test, this.result, this.previousCommits,
         this.commits);
  
positive.code:   td.nopad      {padding: 0px;}
    td.nomatch    {background-color: Salmon;}
    td.match      {background-color: PaleGreen;}
    td.newFailure {background-color: Pink;}
  </style>
  <script>function showBlamelist(id) {
    if (document.getElementById(id + "-off").style.display == "none") {
  
negative.code: 
    for (final Map<String, dynamic> change in changes) {
      final name = change['name'];
      final result = Result.fromJson(change);
      if (result.newPass) continue;
      resultsForTestAndChange
          .putIfAbsent(name, () => <Result, List<Map<String, dynamic>>>{})
  