)]}'
{
  "commit": "2f95ae41d6662088e2d58a68f449c1749b0dc985",
  "tree": "2612ae23ffa4a133e9523370f7480c11b1627780",
  "parents": [
    "204b120bbfdb3e925876a83b29cd18cc4cbc67fd"
  ],
  "author": {
    "name": "Dmitry Grand (dmgr)",
    "email": "dmgr@google.com",
    "time": "Thu Oct 15 09:54:22 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Oct 15 16:54:22 2026 +0000"
  },
  "message": "Stop using remaining_jobs and failed_jobs and use jobs statuses instead (#5165)\n\nRemove remaining_jobs and failed_jobs from presubmit_guards\n\nRemove the remaining_jobs and failed_jobs fields from PresubmitGuard and derive guard status directly from the jobs TaskStatus map instead of maintaining separate counters.\n- Update GuardStatus.calculate to evaluate Iterable\u003cTaskStatus\u003e (Succeeded if all isSuccess, Failed if any isFailure, otherwise In Progress)\n- Add PresubmitGuard.status getter and drop remainingJobs/failedJobs\n- Update UnifiedCheckRun, LuciBuildService, request handlers, and unit tests\n\nfix: https://github.com/flutter/flutter/issues/193862",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4b16c808b058f5805c53bef02e1d671834102647",
      "old_mode": 33188,
      "old_path": "app_dart/lib/src/model/firestore/presubmit_guard.dart",
      "new_id": "185024b23561d35f317d6e904d513990a8a6f605",
      "new_mode": 33188,
      "new_path": "app_dart/lib/src/model/firestore/presubmit_guard.dart"
    },
    {
      "type": "modify",
      "old_id": "863010213c3b2ea59209a4536f28d5868b4d6be2",
      "old_mode": 33188,
      "old_path": "app_dart/lib/src/request_handlers/get_engine_artifacts_ready.dart",
      "new_id": "9fe1cef1d1aa12534ba51e4da2ecff9708710e6d",
      "new_mode": 33188,
      "new_path": "app_dart/lib/src/request_handlers/get_engine_artifacts_ready.dart"
    },
    {
      "type": "modify",
      "old_id": "3e2e8cfee8d0bff118399e4822e99c469aad600d",
      "old_mode": 33188,
      "old_path": "app_dart/lib/src/request_handlers/get_presubmit_guard.dart",
      "new_id": "1ee9bb25fdeaa572b3068a176c70042e086381e3",
      "new_mode": 33188,
      "new_path": "app_dart/lib/src/request_handlers/get_presubmit_guard.dart"
    },
    {
      "type": "modify",
      "old_id": "4de918152521fc48c7a1f93da73b246ecaf2a6bc",
      "old_mode": 33188,
      "old_path": "app_dart/lib/src/request_handlers/get_presubmit_guard_summaries.dart",
      "new_id": "f7d94bcf3fe83bea37f4dc942580553f5e025592",
      "new_mode": 33188,
      "new_path": "app_dart/lib/src/request_handlers/get_presubmit_guard_summaries.dart"
    },
    {
      "type": "modify",
      "old_id": "b9b272f88a72a8dd70a02500ce3d7103cb0d7e01",
      "old_mode": 33188,
      "old_path": "app_dart/lib/src/service/firestore/unified_check_run.dart",
      "new_id": "bf908954bf564aa6ef11bf5e96bbded4de703cc3",
      "new_mode": 33188,
      "new_path": "app_dart/lib/src/service/firestore/unified_check_run.dart"
    },
    {
      "type": "modify",
      "old_id": "af9202284b3298dfa9ab09d95677163dbc06baa7",
      "old_mode": 33188,
      "old_path": "app_dart/lib/src/service/luci_build_service.dart",
      "new_id": "42d6a37ec2858893de53d21c3d6aab5dd89b76ab",
      "new_mode": 33188,
      "new_path": "app_dart/lib/src/service/luci_build_service.dart"
    },
    {
      "type": "modify",
      "old_id": "d6ac0b52d6b85d8be7cfd61f62d9cb51c28040f3",
      "old_mode": 33188,
      "old_path": "app_dart/test/model/firestore/presubmit_guard_test.dart",
      "new_id": "a43241ea8f4aa56493565f376336adb387874aff",
      "new_mode": 33188,
      "new_path": "app_dart/test/model/firestore/presubmit_guard_test.dart"
    },
    {
      "type": "modify",
      "old_id": "6459c889fd00f549d8612e0fb8c5d83b15a80e50",
      "old_mode": 33188,
      "old_path": "app_dart/test/request_handlers/analyze_logs_test.dart",
      "new_id": "99b627ab2e3a518b35d1ba48d1c7af59b9f38783",
      "new_mode": 33188,
      "new_path": "app_dart/test/request_handlers/analyze_logs_test.dart"
    },
    {
      "type": "modify",
      "old_id": "2f1ab173c8b72e826adc7864cf2a9a55e5268c2d",
      "old_mode": 33188,
      "old_path": "app_dart/test/request_handlers/get_engine_artifacts_ready_test.dart",
      "new_id": "30bae2ce9559a4eb186b633147cc59aca4104c32",
      "new_mode": 33188,
      "new_path": "app_dart/test/request_handlers/get_engine_artifacts_ready_test.dart"
    },
    {
      "type": "modify",
      "old_id": "952ac155632762804006ef5ede64099054dc42a7",
      "old_mode": 33188,
      "old_path": "app_dart/test/request_handlers/get_presubmit_guard_summaries_test.dart",
      "new_id": "35c1e2198756ec490018126acce2ceeb8a385e73",
      "new_mode": 33188,
      "new_path": "app_dart/test/request_handlers/get_presubmit_guard_summaries_test.dart"
    },
    {
      "type": "modify",
      "old_id": "39afa4ab51277c66ac0df129db30299cc919b1e3",
      "old_mode": 33188,
      "old_path": "app_dart/test/request_handlers/get_presubmit_guard_test.dart",
      "new_id": "cd701214a5e45eda67544080c0d5924f09ef4319",
      "new_mode": 33188,
      "new_path": "app_dart/test/request_handlers/get_presubmit_guard_test.dart"
    },
    {
      "type": "modify",
      "old_id": "4c5697cae2cdd54cd221b57b28ec04d60f5b7924",
      "old_mode": 33188,
      "old_path": "app_dart/test/request_handlers/rerun_all_failed_jobs_test.dart",
      "new_id": "b381bdc6e865c05619474043b3f04b63754d2087",
      "new_mode": 33188,
      "new_path": "app_dart/test/request_handlers/rerun_all_failed_jobs_test.dart"
    },
    {
      "type": "modify",
      "old_id": "b6c96b0498ad76b1133c63f3a7d0a17071fcca2b",
      "old_mode": 33188,
      "old_path": "app_dart/test/request_handlers/rerun_failed_job_test.dart",
      "new_id": "ebd33ddf3a62dbd6d0006775a6667160536b37c5",
      "new_mode": 33188,
      "new_path": "app_dart/test/request_handlers/rerun_failed_job_test.dart"
    },
    {
      "type": "modify",
      "old_id": "40deb86cb669e3d02dad5664b667dd13a1cc0220",
      "old_mode": 33188,
      "old_path": "app_dart/test/service/firestore/unified_check_run_test.dart",
      "new_id": "dee101d8ad46f91eb8dd364fcb3de13631ff506d",
      "new_mode": 33188,
      "new_path": "app_dart/test/service/firestore/unified_check_run_test.dart"
    },
    {
      "type": "modify",
      "old_id": "266af4350bae63f122a8fdbb3052f5fadabe7eb5",
      "old_mode": 33188,
      "old_path": "app_dart/test/service/luci_build_service/schedule_try_builds_test.dart",
      "new_id": "e927804616bb22430739f551dff966b18349a62d",
      "new_mode": 33188,
      "new_path": "app_dart/test/service/luci_build_service/schedule_try_builds_test.dart"
    },
    {
      "type": "modify",
      "old_id": "1af35c7a1c9d239f68c36eaf3e293772235ff6dd",
      "old_mode": 33188,
      "old_path": "app_dart/test/service/scheduler_test.dart",
      "new_id": "bfde357d41a427419d1043a883e1f6e24d02d66f",
      "new_mode": 33188,
      "new_path": "app_dart/test/service/scheduler_test.dart"
    },
    {
      "type": "modify",
      "old_id": "f2708aa5e646c5e3799dd7498772205c016d09a6",
      "old_mode": 33188,
      "old_path": "dashboard/lib/service/data_seeder.dart",
      "new_id": "d071c0920b7fc91610596d48df303da804979a5a",
      "new_mode": 33188,
      "new_path": "dashboard/lib/service/data_seeder.dart"
    },
    {
      "type": "modify",
      "old_id": "bef6aa1b1801f9e13b6fcd22eab1b0cb094e2737",
      "old_mode": 33188,
      "old_path": "packages/cocoon_common/lib/guard_status.dart",
      "new_id": "62c661928698bef766cc04f846f6dff0450dd258",
      "new_mode": 33188,
      "new_path": "packages/cocoon_common/lib/guard_status.dart"
    },
    {
      "type": "modify",
      "old_id": "b7d10e7a9b3e4b29cd588c5784b6c0722bcd3d70",
      "old_mode": 33188,
      "old_path": "packages/cocoon_common/test/guard_status_test.dart",
      "new_id": "c3dceb133f8dba9476cae40b926c332afd7806c9",
      "new_mode": 33188,
      "new_path": "packages/cocoon_common/test/guard_status_test.dart"
    },
    {
      "type": "modify",
      "old_id": "76013fbabe7916e0fbc5dcd602272acc67d27e56",
      "old_mode": 33188,
      "old_path": "packages/cocoon_integration_test/lib/src/utilities/entity_generators.dart",
      "new_id": "c1e4f1b280facbcab6f4cd5728e20241ed027b8d",
      "new_mode": 33188,
      "new_path": "packages/cocoon_integration_test/lib/src/utilities/entity_generators.dart"
    }
  ]
}
