)]}'
{
  "commit": "d42b1d9c3f462d5eadca61e50231aeb30bbd2bb2",
  "tree": "a5a696b8a7b870536884cfe76373abc89fe450bd",
  "parents": [
    "cd0c18df65594e5e8b638d7228e6b4dffd8165f7"
  ],
  "author": {
    "name": "John McDole",
    "email": "codefu@google.com",
    "time": "Tue Jun 30 09:50:53 2026 -0700"
  },
  "committer": {
    "name": "John McDole",
    "email": "codefu@google.com",
    "time": "Tue Jun 30 09:50:53 2026 -0700"
  },
  "message": " feat(app_dart): fall back to ciStaging in GetPresubmitGuard when no guards found\n\nIn the Unified Check Run flow, if no modern `UnifiedCheckRun` presubmit\nguards are found for a commit, retrieve the legacy `ciStaging` documents\nas a fallback. This will make waiting for check-runs to pass universal.\n\n- Implement `CiStaging.getCiStagingForCommitSha` to query staging documents by repository and commit SHA.\n- Refactor `GetPresubmitGuard` to invoke `_getCiStagingFallback` when no guards are present.\n- Extract `check_run_id` from the staging `checkRunGuard` JSON, and look up pull request and author metadata via `PrCheckRuns`.\n- Add unit tests verifying `ciStaging` fallback execution and JSON response structure.\n- Clean up related linter warnings (redundant imports, type annotations, and curly braces).\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d0f57caf41dae6b39f770292022c6f77f9dfaffe",
      "old_mode": 33188,
      "old_path": "app_dart/lib/src/model/firestore/ci_staging.dart",
      "new_id": "cc934061871676d769f4f50232bbf6edc115c172",
      "new_mode": 33188,
      "new_path": "app_dart/lib/src/model/firestore/ci_staging.dart"
    },
    {
      "type": "modify",
      "old_id": "c0817c853f83b2e97b07c75cd18151c9be754217",
      "old_mode": 33188,
      "old_path": "app_dart/lib/src/request_handlers/get_presubmit_guard.dart",
      "new_id": "5bec07b87d70cc4303b19373d65beac4ee99299f",
      "new_mode": 33188,
      "new_path": "app_dart/lib/src/request_handlers/get_presubmit_guard.dart"
    },
    {
      "type": "modify",
      "old_id": "e0754bb51f961e5577702f584526b58e4022c75c",
      "old_mode": 33188,
      "old_path": "app_dart/test/request_handlers/get_presubmit_guard_test.dart",
      "new_id": "2430d163fd9dad2968414f0b7537532bbc191282",
      "new_mode": 33188,
      "new_path": "app_dart/test/request_handlers/get_presubmit_guard_test.dart"
    },
    {
      "type": "modify",
      "old_id": "e3d137c17f49218d65651fc2bbbb72b2e90be7dd",
      "old_mode": 33188,
      "old_path": "dashboard/test/views/presubmit_view_test.dart",
      "new_id": "d2aa13404fe8d8b7b85b93c812ac4bbca5e2b822",
      "new_mode": 33188,
      "new_path": "dashboard/test/views/presubmit_view_test.dart"
    }
  ]
}
