anchor.diff:  Future<int> _readLatestMinorVersion() async {
     var contents = await File('pubspec.yaml').readAsString();
     var pubspec = loadYamlNode(contents) as YamlMap;
  -  // 0.1.79 or 0.1.79-dev or 0.1.97+1
  -  return int.parse((pubspec['version'] as String)
  -      .split('.')
  -      .last
  -      .split('-')
  -      .first
  -      .split('+')
  -      .first);
  +  var version = pubspec['version'] as String;
  +  // 1.15.0
  +  return int.parse(version.split('.')[1]);
   }
  
positive.code:     await dartSdkForLinter(linterVersion, auth);
  
  Future<String?> findSinceLinter(String lint, {Authentication? auth}) async {
    // History recorded in `all.yaml` starts in minor 31.
    var rules_31 = await rulesForVersion(31);
    if (rules_31 != null) {
      if (rules_31.contains(lint)) {
        var version = await _crawlForVersion(lint);
        if (version != null) {
          return version;
        }
      }
    }
  
    var latest = await latestMinor;
    for (var minor = 31; minor <= latest; ++minor) {
      var rules = await rulesForVersion(minor);
      if (rules != null) {
        if (rules.contains(lint)) {
          return '0.1.$minor';
        }
      }
    }
  
negative.code: int? _latestMinor;
  Iterable<LintRule>? _registeredLints;
  final _repoPathPrefix =
      Uri.https('raw.githubusercontent.com', '/dart-lang/linter/');
  
  List<String>? _sdkTags;
  