anchor.diff:  
       // deleting scorecards
       final cardQuery = _db.query<ScoreCard>()
  -      ..filter('< runtimeVersion', versions.gcBeforeRuntimeVersion);
  +      ..filter('runtimeVersion <', versions.gcBeforeRuntimeVersion);
       await for (ScoreCard report in cardQuery.run()) {
         final age = now.difference(report.updated);
         if (age <= _deleteThreshold) {
  
positive.code:       return null;
      }
  
      final query = _db.query<ScoreCard>(ancestorKey: key.parent)
        ..filter('<', versions.runtimeVersion);
      final all = await query
          .run()
          .where((sc) =>
              // sanity check to not rely entirely on the lexicographical order
              isNewer(sc.semanticRuntimeVersion, versions.semanticRuntimeVersion))
          .toList();
      if (all.isEmpty) {
  
negative.code: 
      // deleting reports
      final reportQuery = _db.query<ScoreCardReport>()
        ..filter('runtimeVersion <', versions.gcBeforeRuntimeVersion);
      await for (ScoreCardReport report in reportQuery.run()) {
        final age = now.difference(report.updated);
        if (age <= _deleteThreshold) {
  