)]}'
{
  "log": [
    {
      "commit": "f0d621e0f55f154b3733d71519f42953c05bc9be",
      "tree": "b549f51ad1d39b79a49c5904c076adfdbb0cedc3",
      "parents": [
        "f0f04b16bcf7e809c1f14de6a04ac29f1625b5bf"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Thu Nov 12 17:22:36 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 17:22:36 2026 -0800"
      },
      "message": "[roll] Update pinned tools\n\n- fuchsia/tools/jiri/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8665293372004803905\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Ib7677d5fc5174c60defd79d3f1d3bcbfbcd77744\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1974036\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f0f04b16bcf7e809c1f14de6a04ac29f1625b5bf",
      "tree": "e1cbb314bcec4d4ee38f446272a36785344b1f0e",
      "parents": [
        "79f7fb33a5f4cdd15b59c9a7a1626fd59bcc2355"
      ],
      "author": {
        "name": "Abdulla Kamar",
        "email": "abdulla@google.com",
        "time": "Thu Nov 12 15:07:39 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 15:07:39 2026 -0800"
      },
      "message": "[gce] Support multi-product builders in prepare_uefi_disk\n\nMulti-product builders (`fuchsia.\u003carch\u003e-debug-postsubmit`) set the\ntop-level `fint_params.product` to `fuchsia.\u003carch\u003e`, while the target\nproduct bundle in `product_bundles.json` is named `core.\u003carch\u003e`. Match\neither `product_bundle_name` or `f\"core.{arch}\"` in\n`GCEApi.prepare_uefi_disk` so both single-product (`core.\u003carch\u003e`,\n`bringup.\u003carch\u003e`) and multi-product builders locate the target product\nbundle when creating the GCE UEFI disk image.\n\nBug: 549755758, 559278756\nTest: ./recipes.py test run --filter \"gce*\"\nChange-Id: I663ae4918fc39a9cbdd9e7b5442dcabf5de1cbd7\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1972734\nFuchsia-Auto-Submit: Abdulla Kamar \u003cabdulla@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\nCommit-Queue: Abdulla Kamar \u003cabdulla@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "79f7fb33a5f4cdd15b59c9a7a1626fd59bcc2355",
      "tree": "d50def94ff566a53a94cf8dfdfc1c3d378bcbbbc",
      "parents": [
        "c32b5a9f3898c95c0c4d7eba1af06f3a60d1c2a3"
      ],
      "author": {
        "name": "Danielle Kay",
        "email": "danikay@google.com",
        "time": "Thu Nov 12 14:54:16 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 14:54:16 2026 -0800"
      },
      "message": "[flapjack] Add use_git_checkout for standalone repos\n\nAllows the flapjack recipe to scan CLs in repositories that are not the\nroot of a jiri checkout, so the presubmit can be enabled for infra/infra\nand infra/recipes.\n\nWhen `use_git_checkout` is set, the recipe checks out only the\nrepository under review with git_checkout, deriving the repo from the\ntriggering Gerrit change so one builder can serve several standalone\nrepos. The patch is applied to the checkout, so check_cl\u0027s\n`--directory\u003d\u003croot\u003e --commit\u003dHEAD` sees the CL. The default jiri path is\nunchanged for fuchsia.git.\n\nBug: 581507892\nTest: Verified with led against fuchsia/infra/infra CL 1935195 on the\nglobal.try.shadow/flapjack builder: plain git checkout, audit and critic\nran against the infra checkout, build SUCCESS.\nhttps://ci.chromium.org/b/8665393583281734033\nChange-Id: I3b49503e16a6479b16d12796da1435aee70f0357\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1965866\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nReviewed-by: Rob Mohr \u003cmohrr@google.com\u003e\nCommit-Queue: Danielle Kay \u003cdanikay@google.com\u003e\n"
    },
    {
      "commit": "c32b5a9f3898c95c0c4d7eba1af06f3a60d1c2a3",
      "tree": "16cdeeff486564edf31e39628210cdec805aa75a",
      "parents": [
        "f49460f419c8b28b5d485cff044a0f8443714d9e"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Thu Nov 12 13:40:24 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 13:40:24 2026 -0800"
      },
      "message": "[roll] Update pinned tools\n\n- fuchsia/shac/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8665303851573315569\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Ideb2b48aa680a4f7319d020fa5b8b484125eb4f4\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1975416\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "f49460f419c8b28b5d485cff044a0f8443714d9e",
      "tree": "696d714b99919037bc02e3715a29ea72b6702dec",
      "parents": [
        "7fe46e0a3707be702e6b805a7eb3f97932bb9a78"
      ],
      "author": {
        "name": "Erick Tryzelaar",
        "email": "etryzelaar@google.com",
        "time": "Thu Nov 12 13:39:16 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 13:39:16 2026 -0800"
      },
      "message": "[rust] Use the fuchsia_test_runner.py from fuchsia\n\nThis copies how llvm launches the fuchsia_test_runner.py from the\nfuchsia checkout, rather than using the one that is included in the Rust\nrepository.\n\nChange-Id: Id89787dcb7763e9260ded9f3c68fa8ba490f3e53\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1907081\nFuchsia-Auto-Submit: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\nReviewed-by: Haowei Wu \u003chaowei@google.com\u003e\nCommit-Queue: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "7fe46e0a3707be702e6b805a7eb3f97932bb9a78",
      "tree": "905606ed7c2e03f46a828a749644bb06789fc916",
      "parents": [
        "0eee83737f436202246cae268d7dd587d65cd3a7"
      ],
      "author": {
        "name": "David Fang",
        "email": "fangism@google.com",
        "time": "Thu Nov 12 13:16:57 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 13:16:57 2026 -0800"
      },
      "message": "[build,buildproxywrap] Restore BES socket relay and plumb --bes-proxy-socket\n\nRe-add the buildproxywrap socket relay for buildeventservice.googleapis.com:443\n(as bes.sock / BES_PROXY_SOCKET), replacing the obsolete sponge socket relay.\nPlumb BES_PROXY_SOCKET as --bes-proxy-socket to main_build.py when ResultStore\nis enabled so Bazel and besproxy connect to the Build Event Service endpoint\nrather than the ResultStore Upload API endpoint.\n\nBug: 573624782\nDepends-on: Ib81280dc95548e5cd7ec5d2cd8be48bf1e46338a\nChange-Id: Ia6ce5a3d1c4af2a65e5cbbb8e97f62ecd8d6ff43\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1971016\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: David Fang \u003cfangism@google.com\u003e\nCommit-Queue: David Fang \u003cfangism@google.com\u003e\nDependencies-Satisfied: cl-deps-checker@fuchsia-internal-service-accts.iam.gserviceaccount.com \u003ccl-deps-checker@fuchsia-internal-service-accts.iam.gserviceaccount.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "0eee83737f436202246cae268d7dd587d65cd3a7",
      "tree": "199022485b4ef1fee2d5d6d7fb3c93cbec0fde35",
      "parents": [
        "727773503b5f771600cdcf1497d258110e97b8c9"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Thu Nov 12 11:31:57 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 11:31:57 2026 -0800"
      },
      "message": "[roll] Update pinned tools\n\n- turquoise_internal/infra/mos-artifact/${platform}\n- turquoise_internal/infra/publish/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8665314842762591601\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I507452ad8480a1903a8d5971e068a9edd01a617f\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1974035\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "727773503b5f771600cdcf1497d258110e97b8c9",
      "tree": "a6af5b091be1f00832c07cee30d481d10a7136ff",
      "parents": [
        "797ac0738d88e9d53e7d64ccb658df38c67419bf"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Thu Nov 12 10:26:46 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 10:26:46 2026 -0800"
      },
      "message": "[roll] Update pinned tools\n\n- turquoise_internal/infra/android-build-downloader/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8665316073894952769\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I490a31067a26955cf4835b97a444b3d47a2d69a5\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1975474\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "797ac0738d88e9d53e7d64ccb658df38c67419bf",
      "tree": "2b6c1173bc292b2a9e5e8025410831bbf4c196d6",
      "parents": [
        "fd990ed61a648938eb2350b1eaea53beeace401d"
      ],
      "author": {
        "name": "Hunter Freyer",
        "email": "hjfreyer@google.com",
        "time": "Thu Nov 12 10:19:13 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 10:19:13 2026 -0800"
      },
      "message": "[fuchsia_roller] Add redact_commit_messages option\n\nAdds a redact_commit_messages field on Repository in fuchsia_roller and\na standalone roll_commit_message.format_redacted() method that reads\nonly repo_short_name, repo_url, old_revision, new_revision, and\nlen(commits) so rollers updating private repositories in public\nrepositories cannot leak rolled commit subjects, bodies, Gerrit links,\nor internal footers.\n\nBug: 580949836\nChange-Id: Ifa463aa7e828c7e47c83d37b9dc74f4f6a6a6964\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1966817\nFuchsia-Auto-Submit: Hunter Freyer \u003chjfreyer@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Hunter Freyer \u003chjfreyer@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "fd990ed61a648938eb2350b1eaea53beeace401d",
      "tree": "9b74b5593d9cd7d915d702b593cb407bd7d6f14b",
      "parents": [
        "1885d4d8449b650553b50a48143484bae0ddf8c3"
      ],
      "author": {
        "name": "Carver Forbes",
        "email": "carverforbes@google.com",
        "time": "Thu Nov 12 09:00:42 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 09:00:42 2026 -0800"
      },
      "message": "[build] Stream tests.json via cat and diff test names\n\nPass `include_log\u003dFalse` to `read tests.json` and `read cached\ntests.json` to prevent single-threaded Python from parsing,\nre-formatting, and emitting 155,000+ individual log lines over socket\npipes to LogDog.\n\nStream the full tests.json file for debugging using a dedicated `cat`\nstep, allowing the operating system kernel to pipe the 7.6 MB payload\ndirectly to LogDog Butler in milliseconds with zero Python memory or CPU\noverhead.\n\nReplace the formatted JSON diff with a unified diff of sorted test\nnames:\n- Reduces diff inputs from 155,000 lines of nested JSON syntax to ~7,000\n  test suite identifiers.\n- Cuts unified diff runtime from over 10 minutes down to ~4\n  milliseconds.\n- Completely eliminates pathological difflib comparison stalls on tryjob\n  builders caused by upstream matrix drift.\n- Surfaces a clean, noise-free view of added and removed test suites\n  without dictionary key, bracket, or timeout churn.\n\nBug: b/575430552\nChange-Id: I0273d35f56629968c49bbaa0f41d65182019beb6\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1963294\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: Carver Forbes \u003ccarverforbes@google.com\u003e\nCommit-Queue: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "1885d4d8449b650553b50a48143484bae0ddf8c3",
      "tree": "727ab1c3c1b1a1002b4bb7fecfcaa66581e1f084",
      "parents": [
        "a9ce90372442bc1075963dece023ff55fefff538"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Thu Nov 12 03:52:21 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Nov 12 03:52:21 2026 -0800"
      },
      "message": "[roll] Update pinned tools\n\n- fuchsia/tools/jiri/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8665344834563932305\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I1834d9123049f7391ceea1006e403df068a67b5b\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1973057\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "a9ce90372442bc1075963dece023ff55fefff538",
      "tree": "daf9205b36a954abb816bf9f29af7237cee59b6a",
      "parents": [
        "9f1d69e0bc4cc16307de55bc79959de767fa9cae"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Wed Nov 11 16:27:03 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 16:27:03 2026 -0800"
      },
      "message": "[roll] Update pinned tools\n\n- fuchsia/tools/jiri/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8665388122868551521\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Ia706b0ba497202f120d62b1e6c75393616c3ea3a\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1970919\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "9f1d69e0bc4cc16307de55bc79959de767fa9cae",
      "tree": "85a6f3a57657000b840907a6326c84b7b8d9ea06",
      "parents": [
        "c5476e62a83bf43c5008c43d796773cd93bf0707"
      ],
      "author": {
        "name": "Jerry Belton",
        "email": "jcecil@google.com",
        "time": "Wed Nov 11 15:19:58 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 15:19:58 2026 -0800"
      },
      "message": "[gerrit_dependency_satisfy] Force-submit atomic CLs\n\nNote: This new submission path is gated behind the `Depends-on-v2: true`\ncommit footer during rollout; CLs without this footer continue to use\nthe existing behavior.\n\nWhen `Depends-on-v2: true` is set on an atomic `Depends-on` group,\ndirectly submit the CLs via `gerrit.submit` after setting\n`Dependencies-Satisfied+1` (instead of waiting for `auto-submit` to\nvote `Commit-Queue+2`), after verifying that each CL matches a CQ\nconfig group and its tree is open. This narrows the window between\nsubmissions and avoids delays when one CL cannot reuse tryjobs. If\nsubmission fails, unset `Dependencies-Satisfied`.\n\nBug: 474066313\nBug: 577134140\nBug: 582407295\nBug: 575840242\nTest: ./recipes.py test run --filter \"*gerrit_dependency_satisfy*\"\nChange-Id: Id02a3b2ffa905ba723d980c001dfef57095bab4f\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1916102\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nCommit-Queue: Jerry Belton \u003cjcecil@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "c5476e62a83bf43c5008c43d796773cd93bf0707",
      "tree": "88196523145aa01406d4a5e7cf11374f33c2dc62",
      "parents": [
        "f18b8f82ca89017c1bb3d741c16d0f09e4929095"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Wed Nov 11 14:10:43 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 14:10:43 2026 -0800"
      },
      "message": "[run_script] Fix proto comments\n\nClarified run_script property comments to match the recipe:\nshallow_checkout is unsupported for repo checkouts too, fallback_ref is\nignored for Jiri, checkout_with_repo takes precedence over\njiri_manifest, and set_repo_tags only applies with upload_to_cipd and\notherwise falls back to git_revision tags. Also documented the non-\nobvious behavior: the COMMIT_MESSAGE_FILE env var for rolls, the --cipd-\nyaml-manifest and --extra-tests flags passed to scripts, the manifest\nformats, fint_params_path triggering a Fuchsia build, roll_dir being\nrelative to the checkout root, and scripts running in order.\n\nChange-Id: I2e3166cce91239fb0b68d31a9f7b27ab4ace1c6d\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956507\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\n"
    },
    {
      "commit": "f18b8f82ca89017c1bb3d741c16d0f09e4929095",
      "tree": "62afd70382430a250270602120b41596e4c40a26",
      "parents": [
        "11837a18dd2ae9d6f8ad06168923d827aaab93d6"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Wed Nov 11 14:08:48 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 14:08:48 2026 -0800"
      },
      "message": "[increment_version] Fix proto comments\n\nUpdated the increment_version property comments to match the code.\ntarget_branch is required and must be exactly \"releases/\u003cname\u003e\" with no\nfurther slashes. remote and bug are required. downstream_builders takes\nfully-qualified builder names and is only looked up outside dryrun.\ncandidate_version_increment defaults to 1, and the new candidate is the\nsmallest multiple of the increment greater than the current candidate.\n\nChange-Id: Iab1afa15a9b689a56ca33cb1f459fcae03d02d72\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956659\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nReviewed-by: Zijun Wan \u003czijunwan@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\n"
    },
    {
      "commit": "11837a18dd2ae9d6f8ad06168923d827aaab93d6",
      "tree": "73996dd1a54e848ef973bb09bb307a04f7e41b79",
      "parents": [
        "a0364d7648850f63cee02634caf075e5018d24de"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Wed Nov 11 14:02:39 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 14:02:39 2026 -0800"
      },
      "message": "[gerrit_auto_submit] Fix proto comments\n\nInputProperties had no field comments. Documented\ngerrit_auto_submit_options as the module options and dry_run\u0027s actual\nbehavior: it skips CQ+2 votes (including quota takeovers) and conflict-\nresolving rebases, but attempt counts are still recorded in builder\nstate.\n\nChange-Id: I9145c4c6f8918da8ab10fd4ea21dff8888f0ca8c\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956658\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "a0364d7648850f63cee02634caf075e5018d24de",
      "tree": "6f08188974b8af89c4df895b7a24534079a04f50",
      "parents": [
        "0542f1856e1241302d0f7b1d3d4a84e06c3e5afd"
      ],
      "author": {
        "name": "eakammer",
        "email": "eakammer@google.com",
        "time": "Wed Nov 11 11:43:38 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 11:43:38 2026 -0800"
      },
      "message": "[testing] Do not treat precluded tests as flaky\n\nWhen a test suite was precluded from running on an earlier run or\nattempt (e.g. because another test failed and stop_on_failure halted the\nshard) and later executed and passed, it was previously treated as having\nflaked.\n\nA precluded test never executed on the failing attempt/run, so passing\non retry does not indicate non-determinism. Only mark a test as flaked\nif at least one of its prior non-passing outcomes was an actual failure\n(i.e. not all previous failures were precluded).\n\nBug: 527958327\nChange-Id: I51f5581d77941f61d639e8e71a4ab4476a6a6964\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1966818\nCommit-Queue: Liz Kammer \u003ceakammer@google.com\u003e\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0542f1856e1241302d0f7b1d3d4a84e06c3e5afd",
      "tree": "c2edaec6a988aed708bc7e5f2c78fda46608ed43",
      "parents": [
        "0e9f752c1834ecbbf4e685a7736ed21872c743ae"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Wed Nov 11 11:42:24 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 11:42:24 2026 -0800"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (recipe_engine) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8665405992434922993\n\nrecipe_engine:\nhttps://chromium.googlesource.com/infra/luci/recipes-py/+log/777ef2408770ae619b4c066bdc4936c886fddffc~..55b7507aa76018b3b0c41266e239b3ff3dc64afd\n  777ef24 (olivernewman@google.com)\n      [cipd] Don\u0027t cache failed ensure_tool installs\n  55b7507 (olivernewman@google.com)\n      [test] Start test runners only as tests are found\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: I40fec73937b73e5a1dbd07c3a2418d63d528cd26\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1966937\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "0e9f752c1834ecbbf4e685a7736ed21872c743ae",
      "tree": "884e33391b768c3def92e6ba4bd932a58e00c466",
      "parents": [
        "c8f42c033b8ae3a8d9e1307fdbe437ade3dea8fe"
      ],
      "author": {
        "name": "eakammer",
        "email": "eakammer@google.com",
        "time": "Wed Nov 11 11:29:05 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 11:29:05 2026 -0800"
      },
      "message": "[testing] Consolidate test status sets and extract presentation helpers\n\nConsolidate repeated test result status checks into frozen set\nconstants on FuchsiaTestResults, add real_failed_tests property,\nand extract _attach_step_logs and _format_counted_items helpers.\n\nBug: 527958327\nChange-Id: I5fdc62c149aec9bef11142554a5ff8376a6a6964\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1967174\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\nCommit-Queue: Liz Kammer \u003ceakammer@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "c8f42c033b8ae3a8d9e1307fdbe437ade3dea8fe",
      "tree": "5cab83e64cc173443ae13774b0d8016e8c7f8947",
      "parents": [
        "85f27866c3338019ce2e89bff4a85f6275de6d00"
      ],
      "author": {
        "name": "Oliver Peralta",
        "email": "ocperalta@google.com",
        "time": "Wed Nov 11 11:22:14 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 11:22:14 2026 -0800"
      },
      "message": "[android_artifact_downloader] Use ambient SA on all builders\n\nInternal `android_artifact_downloader` builders in `turquoise` now have\nAndroid Build API v4 read access and `fuchsia-hsp` quota permissions on\ntheir ambient `android-artifact-*-builder` service accounts\n(cl/1014798994).\n\nStop impersonating the legacy `buildbot-atp@fuchsia-hsp` service account\nand unconditionally pass `-user_project fuchsia-hsp` on all builders.\n\nBug: 582337453\nChange-Id: I0e5160d3a8808c24993836fc5ca70352228a8821\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1953115\nCommit-Queue: Oliver Peralta \u003cocperalta@google.com\u003e\nFuchsia-Auto-Submit: Oliver Peralta \u003cocperalta@google.com\u003e\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "85f27866c3338019ce2e89bff4a85f6275de6d00",
      "tree": "d5e68ec34d57d3f88f1e2a369b128886927587ab",
      "parents": [
        "78a490e5df53cc7b28fefd053f8928523bb1a91c"
      ],
      "author": {
        "name": "Erick Tryzelaar",
        "email": "etryzelaar@google.com",
        "time": "Wed Nov 11 11:19:18 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 11:19:18 2026 -0800"
      },
      "message": "[bindgen] Bindgen patch is no longer needed\n\nUpstream landed https://github.com/rust-lang/rust-bindgen/pull/3536 to\nfix the recursive self-referential type, so we no longer need the patch.\n\nFixed: 538623500\nChange-Id: I53805f111541f364930c25b71f4de5b1eab210ed\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1957421\nReviewed-by: Aaron Wood \u003caaronwood@google.com\u003e\nCommit-Queue: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "78a490e5df53cc7b28fefd053f8928523bb1a91c",
      "tree": "ef74b622177eba774c016c3a465353bdfe2e95b6",
      "parents": [
        "83ece29cee52a58a6f2c5e89a857fb568ad23b2b"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Wed Nov 11 10:50:28 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 10:50:28 2026 -0800"
      },
      "message": "[release] Don\u0027t retry cherry-picks from the wrong repo\n\nWhen someone gives Release-Approval to a change uploaded to a\nrepository that the target release branch doesn\u0027t use (e.g. the public\nfuchsia.git, which f30.1+ branches no longer pin), cherry_pick fails\nwith \"not in the checkout\". release-auto-submit then fails and alerts,\nand keeps retrying the change until someone removes the vote. The\nauthor never finds out, since nothing is posted to the change.\n\nSince this is a problem with the change rather than the infra,\ncherry_pick now comments on the change explaining what went wrong and\nsets a user_error output property. auto_submit doesn\u0027t fail for builds\nwith that property, and skips changes whose current patchset already\nhas the comment. The comment only names the change\u0027s own repository,\nsince the change may be public and the release branch\u0027s repositories\nmay not be.\n\nTAG\u003dagy\nCONV\u003df6d38540-3941-4340-8d19-be237cd28f3a\n\nChange-Id: I28c9dfc8087bd59d660d6eb55dec6871f22f95eb\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1967376\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "83ece29cee52a58a6f2c5e89a857fb568ad23b2b",
      "tree": "90e8a8d8e54f98cf61daacdbeb5f2750cb34f94a",
      "parents": [
        "fe421b3f07def1b9b23ad036200a462ac5f8beb8"
      ],
      "author": {
        "name": "Erick Tryzelaar",
        "email": "etryzelaar@google.com",
        "time": "Wed Nov 11 10:24:46 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 10:24:46 2026 -0800"
      },
      "message": "[crubit] Remove obsolete protobuf build steps\n\nUpstream Crubit migrated rs_bindings_from_cc away from Protobuf IR\nschemas and removed cargo/build/generate_proto_headers.py and the\nPROTOBUF_* environment variables from its Cargo build. Stop building\nprotobuf and running generate_proto_headers.py in the crubit recipe.\n\nChange-Id: Id83dbff0ccff387aab40839ecf4616d3af559180\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1969775\nReviewed-by: Haowei Wu \u003chaowei@google.com\u003e\nFuchsia-Auto-Submit: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\nCommit-Queue: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "fe421b3f07def1b9b23ad036200a462ac5f8beb8",
      "tree": "f3cbc5213ba72612c0ca505b950c42cff0ea7e01",
      "parents": [
        "d85fe7eb76ad2940f198fa97a85221c510c056aa"
      ],
      "author": {
        "name": "eakammer",
        "email": "eakammer@google.com",
        "time": "Wed Nov 11 08:42:47 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 08:42:47 2026 -0800"
      },
      "message": "[testing] Migrate infra failure tests to assertions\n\nMigrate single_infra_failure, many_infra_failures, and mixed_failure\ntests from expectation golden snapshots to focused assertions using\nDropExpectation, SummaryMarkdown, and StepFailure/StepException.\n\nBug: 527958327\nChange-Id: I9ed7efca186d1f5fb12e4ca9bd3d1cac6a6a6964\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1966815\nCommit-Queue: Liz Kammer \u003ceakammer@google.com\u003e\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d85fe7eb76ad2940f198fa97a85221c510c056aa",
      "tree": "16593c7b99e16ce912af92cbf3997b2486b90da0",
      "parents": [
        "f236d3bae994fe63727453d4cc4db753ac3058b9"
      ],
      "author": {
        "name": "eakammer",
        "email": "eakammer@google.com",
        "time": "Wed Nov 11 08:42:27 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 08:42:27 2026 -0800"
      },
      "message": "[testing] Recognize PRECLUDED test status\n\nWhen a test shard stops on failure or aborts early, subsequent test\nsuites on the shard are reported with result \u0027PRECLUDED\u0027 rather than\nbeing run.\n\nTreat PRECLUDED as an unresolved test outcome requiring rerun:\n1. Treat PRECLUDED as a failing result in FuchsiaTestResults so\n   precluded test suites are included in failed_tests and\n   shard_to_failed_tests for CV and presubmit retries.\n2. Omit PRECLUDED from the terminal success set (PASS, SKIP,\n   EXONERATED) so an earlier failure that is precluded on retry remains\n   unresolved.\n3. Present precluded test suites as \u0027precluded: \u003cname\u003e\u0027 in red\n   (FAILURE) in Milo to explain that the suite was not executed because\n   the shard stopped early or hit a prior failure/timeout.\n\nBug: 527958327\nChange-Id: I9a54d914e4ff0faeb69c24c690a375966a6a6964\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1966895\nReviewed-by: Zijie He \u003czijiehe@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nReviewed-by: Anthonio Saw \u003canthonio@google.com\u003e\nCommit-Queue: Liz Kammer \u003ceakammer@google.com\u003e\n"
    },
    {
      "commit": "f236d3bae994fe63727453d4cc4db753ac3058b9",
      "tree": "928b6eef9aab2daa58e437fe40f3da9179faa2f0",
      "parents": [
        "8c1afe81479e7e5d5612ad4afb41ef85f34f287d"
      ],
      "author": {
        "name": "Hunter Freyer",
        "email": "hjfreyer@google.com",
        "time": "Wed Nov 11 08:30:56 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 08:30:56 2026 -0800"
      },
      "message": "[git_roll_util] Pluralize commit count in summary header\n\nUses pluralize(\u0027commit\u0027, len(self.commits)) in COMMIT_HEADER so summary\nheaders for 1-commit rolls read \u0027(1 commit)\u0027 instead of \u0027(1 commits)\u0027.\n\nChange-Id: Ia71535b404887b7c78021edd8ca5ee476a6a6964\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1966896\nCommit-Queue: Hunter Freyer \u003chjfreyer@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\nFuchsia-Auto-Submit: Hunter Freyer \u003chjfreyer@google.com\u003e\n"
    },
    {
      "commit": "8c1afe81479e7e5d5612ad4afb41ef85f34f287d",
      "tree": "3cfc769da5500b8a043db69f9e4beebb21df5074",
      "parents": [
        "8033b75cd8c243435401dc56c5c25bef6017af23"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Wed Nov 11 08:04:54 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 08:04:54 2026 -0800"
      },
      "message": "[roll] Update pinned tools\n\n- infra/tools/luci/gerrit/${platform}\n- infra/tools/luci/gitiles/${platform}\n- infra/tools/luci-auth/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8665419042535452385\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Id3b9834f440fc35b2ef0dbe660c5a02d5f7c7c2d\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1969514\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "8033b75cd8c243435401dc56c5c25bef6017af23",
      "tree": "c9f1a6439748aaf4c6c0a8d9f84ab565c9de8d80",
      "parents": [
        "734e76ce5557fc5e3440a48eeb5bd8a12b44980b"
      ],
      "author": {
        "name": "Oliver Newman",
        "email": "olivernewman@google.com",
        "time": "Wed Nov 11 07:33:41 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 07:33:41 2026 -0800"
      },
      "message": "[cherry_pick] Push integration cherry-picks before tagging\n\nCommit 7f4118bbdfa952a510471c34d4a58303704d7ac5 stopped pushing the\ncherry-pick on its own when the target repo is integration itself,\nfolding it into the push that also creates the release tag. The\nrelease builder lacks \"Forge Author\" permission on release tags, so\nGerrit rejects a tag on a new commit authored by someone else, but it\nstill accepted the branch update even though the push was atomic.\n\nThat left releases/f33 HEAD untagged after tqr/1809492 was\ncherry-picked, and every later cherry-pick onto f33 then failed with\n\"branch HEAD is missing a version tag\".\n\nPushing the cherry-pick first, as before that commit, means the commit\nalready exists on a branch by the time the tag is pushed, so Gerrit\ndoesn\u0027t check its author again. Also make the failure comment accurate\nif the tag push still fails in this case, since there\u0027s no roll to fix.\n\nTAG\u003dagy\nCONV\u003dcefb6371-e21d-4fe3-8ff8-b9c5bc883116\n\nBug: 580924899\nChange-Id: Ic2e978d66c19380833e9aa05950141ed9966094d\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1966816\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nCommit-Queue: Oliver Newman \u003colivernewman@google.com\u003e\nFuchsia-Auto-Submit: Oliver Newman \u003colivernewman@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Hunter Freyer \u003chjfreyer@google.com\u003e\n"
    },
    {
      "commit": "734e76ce5557fc5e3440a48eeb5bd8a12b44980b",
      "tree": "418e25a9f5aae51cd87912b3c6b77a3aa3a089b1",
      "parents": [
        "b8e3272473e66efb99adab87aab3c16725c6905c"
      ],
      "author": {
        "name": "Alex Zani",
        "email": "azani@google.com",
        "time": "Wed Nov 11 06:41:04 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Nov 11 06:41:04 2026 -0800"
      },
      "message": "[cobalt_config] Pass --old_registry and --new_registry\n\n`config_change_validator` deprecated `--old_config` and `--new_config`\nin favor of `--old_registry` and `--new_registry`, which it already\naccepts at HEAD. Switch the `validate change` step in\n`recipes/cobalt_config.py` to pass `--old_registry` and `--new_registry`\nand regenerate the recipe expectation files so the deprecated flags can\nbe removed from `cobalt`.\n\nTested with `./recipes.py test train -x --filter cobalt_config` and\n`shac check`.\n\nBug: 278914731\nChange-Id: Ie8bf1d2b5f0d7e047e68be504c6dbde333f7ea84\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1966955\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: Alex Zani \u003cazani@google.com\u003e\nCommit-Queue: Alex Zani \u003cazani@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\n"
    },
    {
      "commit": "b8e3272473e66efb99adab87aab3c16725c6905c",
      "tree": "b116a4b667c7f6f8043d13709dd9650b9992610f",
      "parents": [
        "27923d7da854dcfec1e97c2d4879f99de0c1348a"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Nov 10 19:32:12 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 19:32:12 2026 -0800"
      },
      "message": "[roll] Update pinned tools\n\n- infra/tools/bqupload/${platform}\n- infra/tools/luci-auth/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8665462897553921985\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I1647db9d853cdbfd19f1bdcdbf2fc8f559ae67b7\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1967520\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "27923d7da854dcfec1e97c2d4879f99de0c1348a",
      "tree": "32393224e2ddeabdce991bbf12815cd0e10be208",
      "parents": [
        "95ce6f8be9e180a449fc96e63d1606ee1ed1befe"
      ],
      "author": {
        "name": "Gulfem Savrun",
        "email": "gulfem@google.com",
        "time": "Tue Nov 10 17:10:33 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 17:10:33 2026 -0800"
      },
      "message": "[toolchain_3p_libs] Update OpenCSD to v1.8.4\n\nUpdate OpenCSD revision to refs/tags/v1.8.4.\n\nBug: 507882935\nChange-Id: I5e934f25d776d6fd44064b0cdbcdb12541d15c68\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1967854\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Haowei Wu \u003chaowei@google.com\u003e\nFuchsia-Auto-Submit: Gulfem Savrun \u003cgulfem@google.com\u003e\nCommit-Queue: Gulfem Savrun \u003cgulfem@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "95ce6f8be9e180a449fc96e63d1606ee1ed1befe",
      "tree": "ac1979e607c665a9e0dfb8560116ae7bb93b60ea",
      "parents": [
        "50bc0c34384b0673d68768881b49bd33d60be633"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Nov 10 15:25:16 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 15:25:16 2026 -0800"
      },
      "message": "[roll] Update pinned tools\n\n- infra/tools/luci/gerrit/${platform}\n- infra/tools/luci/gitiles/${platform}\n- infra/tools/luci-auth/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8665482608358204145\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Ibfce3415da0936cb0c723dfea15a1a5a349b134c\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1966636\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "50bc0c34384b0673d68768881b49bd33d60be633",
      "tree": "55de40be402d3681643eccf15218343c9a0acecc",
      "parents": [
        "cd96a6560ab814b93b287392de2715afa50fb488"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Tue Nov 10 13:36:53 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 13:36:53 2026 -0800"
      },
      "message": "[gerrit_dependency_satisfy] Tolerate inaccessible Gerrit hosts\n\nPreviously, if any change query failed (e.g. due to ACLs on one host),\nthe whole build failed and changes on the remaining hosts weren\u0027t\nprocessed. Now a failed change query marks its host as unavailable for\nthe rest of the polling iteration. Changes that need another query to\nthat host are skipped, which includes all of the host\u0027s changes if they\ncan\u0027t be listed, and the host is retried in the next iteration. If any\nhost failed, the build still ends with an infra failure that names the\nhosts, so the problem gets noticed.\n\nAlso reject Depends-on Change-Ids containing characters other than\nletters and digits before querying, so a typo\u0027d footer gets a \"not a\nvalid Depends-on format\" comment instead of causing a query syntax\nerror that would make its host look unavailable.\n\nChange-Id: Ief43e61ec6296360ae974941ba21e19f15cc1191\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1964801\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "cd96a6560ab814b93b287392de2715afa50fb488",
      "tree": "200282fa23089ef5dea6bb2758e4bf1ac54c2be5",
      "parents": [
        "b47d2dc8ac401a54b87e743f6edc978c0a7d1975"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Nov 10 12:59:34 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 12:59:34 2026 -0800"
      },
      "message": "[roll] Update pinned tools\n\n- infra/tools/bqupload/${platform}\n- infra/tools/luci-auth/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8665487540732238241\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: I259a5f7b96dcb13df6f9b329d66eb3383276c5d5\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1966635\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "b47d2dc8ac401a54b87e743f6edc978c0a7d1975",
      "tree": "1c51c1a22e92b63f0eefd8ec73897420718a1fb4",
      "parents": [
        "616d1b265d88fd1bc8714bb3c9059722315a1750"
      ],
      "author": {
        "name": "eakammer",
        "email": "eakammer@google.com",
        "time": "Tue Nov 10 12:49:07 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 12:49:07 2026 -0800"
      },
      "message": "[release] Pass proto messages in release recipes\n\nPass InputProperties protobuf messages positionally to api.properties()\nacross release and branch orchestration recipes in recipes/release/.\n\nThis ensures undefined properties fail immediately during test\ngeneration instead of being silently ignored.\n\nChange-Id: I6df9d3b826a3b5d95f1133f33739bb366a6a6964\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1966814\nCommit-Queue: Liz Kammer \u003ceakammer@google.com\u003e\nFuchsia-Auto-Submit: Liz Kammer \u003ceakammer@google.com\u003e\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "616d1b265d88fd1bc8714bb3c9059722315a1750",
      "tree": "81ba718cfe61ce00d44a38c5aa8fdd8ff20398dd",
      "parents": [
        "89193510f17db1c5d58cb7b98f72e9cadf2bba9e"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Nov 10 12:40:49 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 12:40:49 2026 -0800"
      },
      "message": "[roll] Update pinned tools\n\n- fuchsia/tools/jiri/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8665494740205841905\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Ia81151c2e3b6f79aa7324404545c8bb6a4641eaa\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1966615\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "89193510f17db1c5d58cb7b98f72e9cadf2bba9e",
      "tree": "f5e4e607334860407762a598935bbde93c33a280",
      "parents": [
        "422c86bf26e54467cafe8c4cd2e3004c9a1f4fba"
      ],
      "author": {
        "name": "Carver Forbes",
        "email": "carverforbes@google.com",
        "time": "Tue Nov 10 09:52:56 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 09:52:56 2026 -0800"
      },
      "message": "[gce_disk_manager] Increase DEFAULT_MAX_ATTACHED_CACHE_DISKS to 5\n\nIncrease the maximum number of concurrently attached warm shared-cache\ndisks per bot from 3 to 5 (raising max_retained from 2 to 4).\n\nProduction telemetry reveals that 56% of cold snapshot mounts on heavy\nbuilders (e.g. fuchsia.x64-debug) occur when Swarming matches the bot\nin Slice 1 (\u003c60s) where the builder previously ran, but the GCE disk\nwas evicted by LRU capacity because the bot handled two other builder\ntargets in the interim.\n\nIncreasing the pool capacity to 5 allows compiler bots to retain up to\n4 warm disks in standby, preventing premature eviction of interleaved\nbuilders, significantly increasing remounted sticky hits, and eliminating\ntens of hours of slow snapshot cold mounts fleet-wide.\n\nBug: b/575430552\nChange-Id: Ib32791ce635855942d752d8eddf7b10eb6084461\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1966954\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\nCommit-Queue: Carver Forbes \u003ccarverforbes@google.com\u003e\nFuchsia-Auto-Submit: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "422c86bf26e54467cafe8c4cd2e3004c9a1f4fba",
      "tree": "29d5636d84317e3d5035b2a4764d5c47dcc80726",
      "parents": [
        "eb672513df9b6aa624aa294528232e91050536c7"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Tue Nov 10 09:43:10 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 09:43:10 2026 -0800"
      },
      "message": "[fuchsia/build] Fix proto comments\n\nSeveral fuchsia/build properties had comments that left out their\ndefaults and conditions. Documented the defaults for upload_namespace,\ncache_key, networked_disk_dir and cache_backend. Also documented which\nfields apply only under certain conditions (perfcompare only for CQ,\nref_settings only for release versions, networked_disk_dir only for the\nswarming backend, comment_led only for led parents, shared cache disk\nsettings only for CI, parent_id required when running tests).\n\nRemoved the unused use_gce_disks and use_gcs_buckets properties.\n\nChange-Id: I6e8c3fa2cca3dea5620375018482cb8e03657537\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1944460\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "eb672513df9b6aa624aa294528232e91050536c7",
      "tree": "f9c11b71e7778efd130fe2eaecc485f51d484f8f",
      "parents": [
        "a9cec05cb48d3aea0f700334a20f94467f46c9aa"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Tue Nov 10 09:32:32 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 09:32:32 2026 -0800"
      },
      "message": "[roll] Update pinned tools\n\n- infra/3pp/tools/gcloud/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8665504253572435473\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Ia4d11f8c010a6684b3818d83f98643abf8e296e7\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1966974\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "a9cec05cb48d3aea0f700334a20f94467f46c9aa",
      "tree": "102a5b559d1fa1caa22854e34a46b7c9c591a68e",
      "parents": [
        "cf429c263c3822df76be24d1272fb6ead59065c7"
      ],
      "author": {
        "name": "Betram Lalusha",
        "email": "betramlalusha@google.com",
        "time": "Tue Nov 10 09:11:18 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 09:11:18 2026 -0800"
      },
      "message": "[testing_requests] Set spec_name tag on test tasks\n\nPopulate the `spec_name` Swarming task tag from the shard\u0027s\n`host_device_type` dimension when present. LUCI Swarming populates the\n`spec_name` field on the `tasks/state_change_scheduling_latencies`\nmetric from this tag, allowing scheduling SLO alerts to group by\n`host_device_type` alongside `device_type`.\n\nBug: 573209397\nChange-Id: I436aba450e7012a2ff6a614358f73e5829371705\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1966176\nCommit-Queue: Betram Lalusha \u003cbetramlalusha@google.com\u003e\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "cf429c263c3822df76be24d1272fb6ead59065c7",
      "tree": "b7aad30737d5c24ba15cc7457ad8d7840338b8d7",
      "parents": [
        "05e94d16b953a18853fee8d11178aa2cb07f2001"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Tue Nov 10 08:42:29 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 08:42:29 2026 -0800"
      },
      "message": "[toolchain_trigger] Fix proto comments\n\nThe toolchain_trigger property comments were too vague. They didn\u0027t say\nwhich builders are waited on, what `triggers` refers to, or that the\ntrigger `version` property comes from the builds\u0027 `git_revision`\noutputs, and they gave no units or defaults for `interval` and\n`timeout`. Clarified blocking vs. nonblocking builders and documented\n`bucket` scope, `interval`/`timeout` in seconds (defaults 60/3600),\n`enforce_output`\u0027s revision check and how it\u0027s passed on, and where\n`version` is passed.\n\nChange-Id: Idd06ea476ebe40dd2c29d8d13222d74984109aba\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1955762\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "05e94d16b953a18853fee8d11178aa2cb07f2001",
      "tree": "965b1ac1fbbe20624b8a31f0c129f3ca1644be23",
      "parents": [
        "cb1308996b1abeafd4d2de4e27a7d255f8355638"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Tue Nov 10 08:38:00 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 08:38:00 2026 -0800"
      },
      "message": "[lldb] Fix proto comments\n\nUpdated the comments on lldb InputProperties so they describe what the\nrecipe actually does. They now give the defaults for remote, revision,\nplatform and lto_mode, explain that revision is only a fallback when the\nBuildbucket input has no commit for the remote, and state the CIPD\npackage path that upload_package uses. They also say that\nenable_lldb_test only matters when tests wouldn\u0027t already run (a cross-\nplatform or Windows build), and that cas_digest is a prebuilt clang\ntoolchain used in place of the CIPD \"integration\" clang.\n\nChange-Id: Ibd1d15dc44a9967abc2236498a10986ef9dd8c52\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956832\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "cb1308996b1abeafd4d2de4e27a7d255f8355638",
      "tree": "a14a5b0ed4f86a3301b911de46136474f73d69d3",
      "parents": [
        "396912b226ccec1de46cf96e41497c6cd1e3d2c5"
      ],
      "author": {
        "name": "eakammer",
        "email": "eakammer@google.com",
        "time": "Tue Nov 10 07:39:01 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 07:39:01 2026 -0800"
      },
      "message": "[swarming_retry,testing] Align infra precedence\n\nPreviously, step and build statuses used inconsistent rules for weighing\ninfrastructure failures against test failures: an attempt or shard step\nturned red whenever any non-infra failure occurred alongside an infra\nfailure, whereas the overall build turned purple if any failed shard\nended on an infra failure.\n\nAlign attempt, shard, and build precedence around causal scope and retry\nintent so Milo colors match the build outcome and avoid unnecessary\nretries:\n- Within a single attempt, host or transport failures can cause running\n  tests on the same bot to fail, so infra failures take precedence.\n- Across attempts of a shard, let a non-infra failure take precedence\n  unless task-level retries exist to deflake the workload (such as boot\n  tests or whole-shard perf retries where in-task retries are disabled)\n  and infra failures prevented the missing runs from getting their full\n  deflake attempts, regardless of attempt order.\n- Across independent shards, let confirmed non-infra shard failures take\n  precedence so presubmit does not retry a whole build that already\n  reproduced a test failure on healthy infrastructure. In practice,\n  co-occurring test and infrastructure failures across shards occur only\n  1-2 times a week in production (~8 builds over 30 days) and have\n  consistently required a new patchset because the test regressions were\n  deterministic rather than flakes.\n\nBug: 527958327\nChange-Id: Ic08fde77f13ea105486408844d1e32446a6a6964\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1962535\nCommit-Queue: Liz Kammer \u003ceakammer@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\n"
    },
    {
      "commit": "396912b226ccec1de46cf96e41497c6cd1e3d2c5",
      "tree": "bd5b3163ccf3ab72015d51687e52ada284d88c5d",
      "parents": [
        "6d180878f0b12f6bb2315cc8210ff909ce2cccc1"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Tue Nov 10 06:13:39 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Nov 10 06:13:39 2026 -0800"
      },
      "message": "[gerrit_dependency_satisfy] Add disable_atomic_commits option\n\nAdd an option to never submit changes that depend on each other\ntogether. Changes in a circular dependency get a comment asking to make\nthe dependency one-way and are never marked as satisfied. The option\ntakes precedence over atomic_commit_repo_groups, which allows circular\ndependencies between any repositories when empty. Same-repository\ncircular dependencies still get their existing comment.\n\nThis is for deployments where many watched repositories pin each other\n(e.g., as submodules). Submitting a change together with a change in a\nrepository it pins breaks the pinning repository until the next roll.\n\nIf the option is unset, behavior is unchanged.\n\nBug: b/546600475\nChange-Id: Id5c922334973d7e949485c7caf61d8e53c7c5c65\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1961874\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "6d180878f0b12f6bb2315cc8210ff909ce2cccc1",
      "tree": "63b5837e6edfc937558554b7819919d90f4f3000",
      "parents": [
        "3386c1d14fad147174fd6b113f25b11e13862e95"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 23:26:01 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 23:26:01 2026 -0800"
      },
      "message": "[tzres_publisher] Fix proto comments\n\nClarified tzres_publisher property comments: `repo` is the URL of the\nICU data repo, and the latest tzdata version is picked from\ntzdata/icunew. `icu_data_version` and `endianness` are the subdirectory\nnames the .res files are copied from, and `icu_data_version` is a single\nversion, not \"version(s)\". Also fixed the \"timfezone\" typo and described\nhow `tzdata_cipd_package_name` is checked for an existing version tag\nbefore a new package is uploaded.\n\nChange-Id: I3b3f8b0ae23965b6ec40311145544a17ee4ccd5f\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1955764\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Ina Huh \u003cihuh@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "3386c1d14fad147174fd6b113f25b11e13862e95",
      "tree": "bd46232ca795dba66fd6f5fc467ef6f7f4d22adb",
      "parents": [
        "9c8c8554546b4005fbe2821bceee7f7f27dd8b50"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 17:14:32 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 17:14:32 2026 -0800"
      },
      "message": "[rust_toolchain] Fix proto comments\n\nCorrected rust_toolchain.proto comments: llvm_repository was described\nas only used for rust_newllvm (it\u0027s also used with llvm_revision), and\nbuild_type had a typo. Documented non-obvious behavior: product/channel\ndefaults, local skipping uploads and triggers, Windows forcing upstream\nstage0, PGO being ignored on Mac and Windows, run_on_target and\ntest-failure semantics, use_prod_clang depending on llvm_revision,\ncipd_ref_override replacing the default refs, and the stage0 fallback\nskipping the wait.\n\nChange-Id: Ibc57291431135d273d5257b129169aa81bda5dcd\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956668\nReviewed-by: Anthonio Saw \u003canthonio@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "9c8c8554546b4005fbe2821bceee7f7f27dd8b50",
      "tree": "f2e0283dd1f66cb8bc2888e12db59c65c2e7f2e0",
      "parents": [
        "0b305ac18d341c34ffe7c8420765c3f3d2fdd0b4"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 16:09:04 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 16:09:04 2026 -0800"
      },
      "message": "[submodule_update] Fix proto comments\n\nThe comment on `superproject` called it a \"super manifest project\", but\nthe code uses it as the superproject\u0027s git remote URL: it checks out\nthat repo at the triggering commit\u0027s ref, and the URL must match the\nremote of a Jiri project. Also documented that\n`roll_options.upstream_ref` falls back to the triggering gitiles\ncommit\u0027s ref when unset.\n\nChange-Id: I97595c41ff5b61c98dd34839ac04e09bc99e9fb1\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956508\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Anthonio Saw \u003canthonio@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "0b305ac18d341c34ffe7c8420765c3f3d2fdd0b4",
      "tree": "9006d087ecc8e95de31464691c012708b50485e8",
      "parents": [
        "994b4df6552d039a8b8a293dc93917bcef1c4a5a"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 16:08:56 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 16:08:56 2026 -0800"
      },
      "message": "[tree_closer] Fix proto comments\n\nFixed misleading comments in tree_closer.proto. grace_period_seconds now\nsays it only applies after a manual reopen and defaults to 2 hours.\nconcurrent_failure_percent now says \"at least\" rather than \"more than\",\nsince the code uses \u003e\u003d. disable_on_dates now says it only stops the tree\nfrom being closed: the recipe still runs and can reopen the tree. Also\ndocumented the working-hours window, that the rule thresholds count\nbuilders across all consoles, and how each rule field behaves when\nunset.\n\nChange-Id: I58f79064b47de45e1fa9aaa14800c41270a082b7\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1955763\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Anthonio Saw \u003canthonio@google.com\u003e\n"
    },
    {
      "commit": "994b4df6552d039a8b8a293dc93917bcef1c4a5a",
      "tree": "749d2d25ace6de8ab8c5812ce896fc70b2ec4eff",
      "parents": [
        "3dd063eff728de6645da95797c07ee331780f2fa"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 16:08:19 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 16:08:19 2026 -0800"
      },
      "message": "[winsdk] Fix proto comments\n\nAdded comments to the previously undocumented winsdk InputProperties\nfields. dry_run passes --dryrun to the packer and skips reading the\nlockfile and uploading to CIPD. cipd_path is the CIPD package to upload\nto and is ignored in dry-run mode.\n\nChange-Id: Ief379bb93dce44881a45b7aa2b64a1eed7882c75\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1955311\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Anthonio Saw \u003canthonio@google.com\u003e\n"
    },
    {
      "commit": "3dd063eff728de6645da95797c07ee331780f2fa",
      "tree": "93b7b18142466041d91debdb63ee925e7704d875",
      "parents": [
        "bbd95b78c0b29e3bc9ad52bf39dff0b3a66d41a6"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 16:00:54 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 16:00:54 2026 -0800"
      },
      "message": "[gerrit_dependency_satisfy] Fix proto comments\n\nBoth fields in gerrit_dependency_satisfy.proto had no comments. Added\none saying that gerrit_dependency_satisfy_options is passed through to\nthe recipe module, and one for dry_run: it skips setting the\nDependencies-Satisfied and Commit-Queue labels and posting comments, and\nit also skips the 30s sleep between polling iterations.\n\nChange-Id: I1abacca023b57aed30105e8f030a446813a4ba70\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1955758\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Anthonio Saw \u003canthonio@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "bbd95b78c0b29e3bc9ad52bf39dff0b3a66d41a6",
      "tree": "4ca08a454bb0d9d7fdb7cc10ce1e4d10a064a22b",
      "parents": [
        "c6dd78a646577e57c20bde7d1155b6aa4057a668"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 16:00:46 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 16:00:46 2026 -0800"
      },
      "message": "[rust_stage0_trigger] Fix proto comments\n\nClarified rust_stage0_trigger proto comments. They now document the\ndefaults for remote, revision, bucket (including the stripped \".shadow\"\nsuffix) and timeout_secs (seconds, 2h). They also explain the 30-day\nlookback in REGULAR_MODE_STOP_IF_ALREADY_SCHEDULED, the actual chain-\nwalking and trigger order of the two bootstrap modes, the retry behavior\nfor triggers, the expected order of bootstrap_chain, and that\nnext_stage_builders needs next_stage_builders_bucket.\n\nChange-Id: Ifcd563f08884ef6f5b395a55fe5146278d5dc398\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1955761\nReviewed-by: Anthonio Saw \u003canthonio@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "c6dd78a646577e57c20bde7d1155b6aa4057a668",
      "tree": "cb96954bdb44e1817acb690e58647c703d4b1fee",
      "parents": [
        "838e39676b13ce355f3ce640d6d3539836b47c22"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 13:57:44 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 13:57:44 2026 -0800"
      },
      "message": "[cts_artifacts] Fix proto comments\n\nDocumented non-obvious behavior in cts_artifacts properties: `remote` is\nalso passed as the source repository in the uploaded CIPD package\u0027s\nmetadata, and `cipd_package` gets a git_revision tag plus a ref that\ndepends on the branch (\"latest\" by default, named after the branch for\nintegration releases/ and compat/ branches, and \"canary\" also sets\n\"latest\").\n\nChange-Id: I0a921743f9c3c0a39141b8f67ae9b1b97736e94d\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1955756\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "838e39676b13ce355f3ce640d6d3539836b47c22",
      "tree": "1c0d974860bc35146dcf5cba80653046770d2cde",
      "parents": [
        "2245fe62e16c7159606f1e365186fb3b9d3be199"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 13:54:59 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 13:54:59 2026 -0800"
      },
      "message": "[init_project_branch] Fix proto comments\n\nClarified that `target_branch` must already exist in the integration\nrepo, since its HEAD decides which revision each project branches from.\nAlso noted that `remote` is the integration repo and may be an sso://\nURL, and that `projects` are jiri project names, each branched at the\nrevision pinned in that checkout.\n\nChange-Id: I84ec7778bef081e02be75cafdccbda6d2cad4eae\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1953751\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\n"
    },
    {
      "commit": "2245fe62e16c7159606f1e365186fb3b9d3be199",
      "tree": "cdca1956aeeb2d37225fea63818403981bf6bd3a",
      "parents": [
        "695e798a66a080da2fe43abf7dcfcafe47289e3f"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 13:54:41 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 13:54:41 2026 -0800"
      },
      "message": "[luci_config] Fix proto comments\n\nDocumented the previously uncommented validate_lucicfg_options field\n(passed to the validate_lucicfg module and run against the root of the\n`remote` checkout) and noted that sso:// remotes are converted to\nhttps:// before checkout.\n\nChange-Id: I4d834f9a5ebf7b23cc938e14d4f939103ec67b2b\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956662\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\n"
    },
    {
      "commit": "695e798a66a080da2fe43abf7dcfcafe47289e3f",
      "tree": "4a18ec050d42ae33f2a8f0d11ec8f1685e6a9ed6",
      "parents": [
        "9e51d3af1cca435aa87f69e587be73f311104373"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 13:53:40 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 13:53:40 2026 -0800"
      },
      "message": "[mingw] Fix proto comments\n\nThe `revision` comment said only \"Git revision\". The recipe actually\npasses it to git_checkout as `fallback_ref`, so it only takes effect\nwhen the Buildbucket input has no commit or change for `remote`. When\nunset, the checkout uses the main branch. The comment now says this.\n\nChange-Id: I105f21e071d4a72b1f1b46b790ac3e194536b470\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956834\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\nReviewed-by: Anthonio Saw \u003canthonio@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "9e51d3af1cca435aa87f69e587be73f311104373",
      "tree": "7eaa6ef003097375bbbab3a8fee730469ed76ace",
      "parents": [
        "6b507bd610d07795254b4c730ea26af2be1e1e3d"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 13:51:43 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 13:51:43 2026 -0800"
      },
      "message": "[publish] Fix proto comments\n\nThe `remote` comment said it was only needed with `target_branch`. The\ncode also requires it with `lkg_builders`, and checks it out to find the\nrelease tag when `release_version` is set, so that comment is corrected.\nAlso fixed the unclear `no_gi_build` comment (true means a non-GI\nbuild), and documented the default behavior of\n`publish_host`/`rollout_pct`, the synthetic LKG-derived version format,\nthe release_version tag checkout, and what `stop_rollout` does.\n\nChange-Id: I3429e64060c11c07cce2d6532ff0a71a080349db\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956837\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "6b507bd610d07795254b4c730ea26af2be1e1e3d",
      "tree": "b91ae04d5bc9004ad5fe3dbb31d31ee7ca5777ba",
      "parents": [
        "b5a535bc5cef74939854dd2bb6c7431f97566f1b"
      ],
      "author": {
        "name": "Anthonio Saw",
        "email": "anthonio@google.com",
        "time": "Mon Nov 09 11:55:48 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 11:55:48 2026 -0800"
      },
      "message": "[testing] Restrict exoneration to main and surface exoneration errors\n\n- Restrict stability exoneration to main refs so release-branch\n  tryjobs do not pass -exoneration-config to older tefmocheck binaries.\n- Read exoneration_error from summary.json and mark the record\n  exoneration metrics step with WARNING and record error_shards in\n  exoneration_summary when stability exoneration fails open on a shard.\n\nBug: b/575894983\nChange-Id: I530547c746842c00192822026b0fa0f87c5d25b9\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1958392\nCommit-Queue: Anthonio Saw \u003canthonio@google.com\u003e\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nReviewed-by: Zijie He \u003czijiehe@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "b5a535bc5cef74939854dd2bb6c7431f97566f1b",
      "tree": "48d0e010b11a392658727f88d3efe3a770bf3724",
      "parents": [
        "3f098a50d1116a77e10ced4392ffa42e7532204f"
      ],
      "author": {
        "name": "Advik Sachdeva",
        "email": "adviks@google.com",
        "time": "Mon Nov 09 11:34:56 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 11:34:56 2026 -0800"
      },
      "message": "[rust_toolchain] Remove unused llvm_ref property\n\nThe llvm_ref input property is never read by recipes/rust_toolchain.py.\nWhen forcing LLVM head, the recipe checks out \"refs/heads/main\", and\notherwise checks out props.llvm_revision. No builder configurations set\nllvm_ref anymore.\n\nRemove the field and reserve name \"llvm_ref\" in recipes/rust_toolchain.proto\n(renumbering subsequent fields per recipe proto convention), and remove\nthe unused llvm_ref from PackageInfo and local checkout logic in\nrecipes/rust_toolchain.py.\n\nFixed: b/578512194\nChange-Id: I4a58ac1414d1c3d24d5dd147bbeca59d07d70dbc\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1947572\nCommit-Queue: Advik Sachdeva \u003cadviks@google.com\u003e\nReviewed-by: Erick Tryzelaar \u003cetryzelaar@google.com\u003e\n"
    },
    {
      "commit": "3f098a50d1116a77e10ced4392ffa42e7532204f",
      "tree": "32c56d48425ac2363d341ef6b34832e2628c854d",
      "parents": [
        "203953731ff6f22f49af06aedfe19150ae7f33e6"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Mon Nov 09 10:42:37 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 10:42:37 2026 -0800"
      },
      "message": "[roll] Update pinned tools\n\n- infra/rbe/client/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8665586778070537313\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Ia01df03659c26f4bd591581cf7de43df1c7f7e82\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1964252\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "203953731ff6f22f49af06aedfe19150ae7f33e6",
      "tree": "ecb8e07fa2231ff4e2379bf46dbe23ec8dc42fed",
      "parents": [
        "2e33edb9a70a6e5fe45ba4b19c88a7f10442940a"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 10:34:57 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 10:34:57 2026 -0800"
      },
      "message": "[tricium] Fix proto comments\n\nSeveral tricium properties only take effect depending on whether\n`fint_params_path` is set, and the comments didn\u0027t say so. They now\nexplain that `fint_params_path` switches between a full Fuchsia checkout\nplus build and a plain git checkout of `remote`. They also note that\n`manifest` and `incremental_build` only apply in fint mode, that\n`cipd_packages` only applies otherwise and supplies the go/gofmt\nbinaries, and that `remote` means different things in the two modes.\n\nChange-Id: I671e60853b2e4570a0ba699d10ba790eb109a03f\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956852\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Michael Brase \u003cmbrase@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "2e33edb9a70a6e5fe45ba4b19c88a7f10442940a",
      "tree": "1a7e929cae6cd54cf6cea664de5bd16e21c30687",
      "parents": [
        "90b463f3cd3bf883febdf417676162e6d9c51f4a"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 10:17:06 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 10:17:06 2026 -0800"
      },
      "message": "[recipes] Fix proto comments\n\nThe `remote` comment called it a manifest repository, but the recipe\nchecks it out directly with git_checkout as the recipes repo under test.\nClarified that `unittest_only` skips the builder-launching recipe tests\nafter lint and unit tests, and noted that `recipe_testing_options` is\nignored when `unittest_only` is set.\n\nChange-Id: Ifae7f9e8eafd197c28f16188d818d78f5fd3167d\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956666\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "90b463f3cd3bf883febdf417676162e6d9c51f4a",
      "tree": "79730d5f04c0336b7d8e548ac763f298138eee27",
      "parents": [
        "857487750741bf8c0a15a50dca16d73f173f7051"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 10:15:04 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 10:15:04 2026 -0800"
      },
      "message": "[parent] Fix proto comments\n\nClarified that go_package is passed to `go build` from the root of the\nrepo checkout, and that the child build isn\u0027t scheduled through\nBuildbucket: recipe_wrapper runs it locally as a sub-build under the\nchild builder\u0027s identity.\n\nChange-Id: I756331adbc73c87bcdc722e869edfaa6ffe0312b\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956836\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "857487750741bf8c0a15a50dca16d73f173f7051",
      "tree": "3f090493d7a9ff49337c4e3f1b572ed945c4f24b",
      "parents": [
        "c46d92137f42ac7b947a83983c42ea6fdfa6dd74"
      ],
      "author": {
        "name": "Hunter Freyer",
        "email": "hjfreyer@google.com",
        "time": "Mon Nov 09 09:52:43 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 09:52:43 2026 -0800"
      },
      "message": "[snap_branch] Remove deprecated repos_to_snap property\n\nBuilder configurations now pass `projects_to_snap` instead of\n`repos_to_snap`.\n\nBug: 575841682\nDepends-on: turquoise-internal:Ia379e197ba24542a204a553ac3bac8322e11507e\nChange-Id: I48b2d61578dc8c0d91e2b5f295702bde5b89a976\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1948193\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: Hunter Freyer \u003chjfreyer@google.com\u003e\nCommit-Queue: Hunter Freyer \u003chjfreyer@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nDependencies-Satisfied: cl-deps-checker@fuchsia-internal-service-accts.iam.gserviceaccount.com \u003ccl-deps-checker@fuchsia-internal-service-accts.iam.gserviceaccount.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "c46d92137f42ac7b947a83983c42ea6fdfa6dd74",
      "tree": "bece2f12c6397bee8aed474926b77150af1ee7ee",
      "parents": [
        "15adce147e1f01e62c00b9cb1b0c840d9fb35b93"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 09:48:37 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 09:48:37 2026 -0800"
      },
      "message": "[icu_chromium_roller] Fix proto comments\n\nDocumented that PathAndName.ref falls back to the web engine element\u0027s\nversion when unset, and that the cipd_packages_with_icu blob check only\nruns when the commit IDs differ and more than one package is listed (a\nmismatch skips the roll instead of failing it). Fixed the icu_manifest\ncomment, which pointed to a nonexistent `project` field; the path is\nrelative to the Fuchsia checkout root. Also documented the two checkout\nparams, and that web_engine_element_name must be a package with a\n\"version:\u003cchromium ref\u003e\" version.\n\nChange-Id: Ib2509bb986f43eb19a6e8e340d4f81c91058a684\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956501\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\n"
    },
    {
      "commit": "15adce147e1f01e62c00b9cb1b0c840d9fb35b93",
      "tree": "145d8476bb6b6473c43b1b18c0d4c684af633211",
      "parents": [
        "34fd8334f3dfecfa59e4b5c9766fa5e754bfe74a"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 09:46:35 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 09:46:35 2026 -0800"
      },
      "message": "[roll_comment] Fix proto comments\n\nDocumented that max_attempts is the per-comment attempt count for\nposting each Gerrit comment and defaults to 3 when unset. Documented\nthat gerrit_host_allowlist entries are normalized, so short names,\nhostnames and https URLs all work, and that an empty list allows all\nhosts.\n\nChange-Id: I235fc9d562d2dfaa3bbcc1b178740539f0f6474b\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956838\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "34fd8334f3dfecfa59e4b5c9766fa5e754bfe74a",
      "tree": "467c24385a21fd62222747bfc59bcf8d46fd3460",
      "parents": [
        "066b64a8b5f872585498ef301740ec56029b515f"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 09:43:44 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 09:43:44 2026 -0800"
      },
      "message": "[lease_infra_device] Fix proto comments\n\nDocumented the constraints the recipe enforces on the properties that\nthe comments left out: device_type must be an allowed type (currently\nonly \"Iris\") and is still validated but not used as a dimension when\ntarget_bot_id is set; service_account must be a GCP service account\nemail and is the account the Swarming task runs as;\nlease_duration_minutes must not be negative; target_bot_id replaces the\ndevice_type dimension.\n\nChange-Id: I23e9ab75bb894f3902d1d751abffc80334575647\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956661\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "066b64a8b5f872585498ef301740ec56029b515f",
      "tree": "6dd8326afb69a2348a2a1ed8998d151ad8414b7f",
      "parents": [
        "09e99cd7a02b8feb511586eb79396761fd0481e6"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 09:40:29 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 09:40:29 2026 -0800"
      },
      "message": "[static_checks] Fix proto comments\n\nClarified that additional_shac_project_dirs are relative to the checkout\nroot and that shac also always runs in the root. Documented that\nemit_gerrit_comments only emits comments for the project directory that\nmatches the triggering change\u0027s Gerrit project.\n\nChange-Id: I3c8d3730fec15562c16e1a3a9b7e8e967f6fccf8\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956840\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\n"
    },
    {
      "commit": "09e99cd7a02b8feb511586eb79396761fd0481e6",
      "tree": "10e2f177a519822e348b1a0b5d6dc0f018f0a810",
      "parents": [
        "cfd0f3100341636585ecda01d511f68daa998376"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 09:38:18 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 09:38:18 2026 -0800"
      },
      "message": "[fuchsia_cipd_roller] Fix proto comments\n\nSeveral comments in fuchsia_cipd_roller.proto were wrong or left out key\ndetails. The `tag` comment pointed to a nonexistent `$packages`, and\nmanifest paths were described as relative to `project` instead of\n`manifest_project`. Added the defaults the code applies\n(`tag`\u003d\"version\", `ref`\u003d\"latest\", `debug_symbol_attribute`\u003d\"debug-\nsymbols\"), the fallback from `remote_ref` to\n`roll_options.upstream_ref`, platform-variable expansion in package\nnames, and what happens when `allowed_package_uploaders` is empty. Also\nclarified `packages_requiring_ref` and `extra_commit_message_content`.\n\nChange-Id: Iad09974978a35be879ec1bb5be205de2c7416e3a\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956499\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "cfd0f3100341636585ecda01d511f68daa998376",
      "tree": "a88d93508149347a81e3829e3c18bd8bd8770ec5",
      "parents": [
        "bbdd9e2f59c1f05f3394206257a1e2193f1543b4"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 09:34:15 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 09:34:15 2026 -0800"
      },
      "message": "[milestone_roller] Fix proto comments\n\nDocumented that the path fields are relative to the project checkout and\nthat the branch presubmit and config generator scripts only run when\nmilestone_branches_path is set and the current milestone branch is newly\nadded to it. Also noted that a config generator failure doesn\u0027t stop the\nCL upload, that the presubmit script receives the branch name as its\nonly argument, and that `project` is the repo whose MILESTONE file gets\nrolled.\n\nChange-Id: Ic6c1497e86b92c35cb57ae87038b15868832a70d\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956663\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Liz Kammer \u003ceakammer@google.com\u003e\n"
    },
    {
      "commit": "bbdd9e2f59c1f05f3394206257a1e2193f1543b4",
      "tree": "500e331ef1ec8d1f3d7e49ec5ad67d44fd72683c",
      "parents": [
        "80c4513b39316468b7ed50a442af4fed16b71829"
      ],
      "author": {
        "name": "Carver Forbes",
        "email": "carverforbes@google.com",
        "time": "Mon Nov 09 09:32:21 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 09:32:21 2026 -0800"
      },
      "message": "[subbuild][gce_disk_manager] Restrict shared cache to 6 primary zones\n\nRestrict candidate shared cache snapshot zones from 9 down to the 6\nprimary zones in us-central1 (a, b, c) and us-east1 (b, c, d) where the\nC3/C3D try compiler fleet resides.\n\nBecause GCE instant snapshots are zonal resources and C3/C3D try\ncompiler bots only exist in us-central1 and us-east1, snapshots\ngenerated in us-west1 are unmountable by the try fleet. Restricting CI\nsnapshot creation to these 6 zones increases snapshot update frequency\nper zone by ~33% and keeps tryjob snapshots substantially fresher.\n\n- Drops us-west1 (a, b, c) from DEFAULT_SNAPSHOT_ZONES in\n  gce_disk_manager.\n- Filters live bot zones in subbuild.get_ci_zones() against\n  gce_disk_manager.default_snapshot_zones so CI builders do not\n  round-robin into unsupported zones.\n\nBug: b/575430552\nChange-Id: I6fca0f517d9da6e80ec3a29f2d7d54f5b2ef29d2\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1917632\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: Carver Forbes \u003ccarverforbes@google.com\u003e\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\nCommit-Queue: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "80c4513b39316468b7ed50a442af4fed16b71829",
      "tree": "67b62c1ed56162632267eb56c1c072643fe81ea7",
      "parents": [
        "7acacc54a9e643265c6ddd74ecc00141f010d9e9"
      ],
      "author": {
        "name": "Hunter Freyer",
        "email": "hjfreyer@google.com",
        "time": "Mon Nov 09 09:27:07 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 09:27:07 2026 -0800"
      },
      "message": "[cherry_pick] Remove deprecated subimports property\n\nBuilder configurations no longer pass `subimports`.\n\nBug: 580924899, 575841682, 385378627\nDepends-on: turquoise-internal:Ibbe252e730fdd09545ee3e931295f6c7e6a455ee\nChange-Id: Iabc20080df9f38eef3584366c8467c08f46c3b38\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1948192\nFuchsia-Auto-Submit: Hunter Freyer \u003chjfreyer@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nDependencies-Satisfied: cl-deps-checker@fuchsia-internal-service-accts.iam.gserviceaccount.com \u003ccl-deps-checker@fuchsia-internal-service-accts.iam.gserviceaccount.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nCommit-Queue: Hunter Freyer \u003chjfreyer@google.com\u003e\n"
    },
    {
      "commit": "7acacc54a9e643265c6ddd74ecc00141f010d9e9",
      "tree": "995e5fd77483a3595a1bd5b608586bf259fbbcdd",
      "parents": [
        "05a3cb420c93abf4e10d07a87e887cde785e5341"
      ],
      "author": {
        "name": "Hunter Freyer",
        "email": "hjfreyer@google.com",
        "time": "Mon Nov 09 08:08:15 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 08:08:15 2026 -0800"
      },
      "message": "[git_clone_fuchsia_tester] Bump baseline commit\n\nAdvance the baseline fuchsia.git commit in run.sh past 2d0e8f83d919\n(\"[double-conversion] Migrate to standard 3p layout [2/2]\") and update\nthe expected third_party/pigweed/src revision to match.\n\nfx sync does not yet reconcile inward Jiri project path moves\n(third_party/double-conversion -\u003e third_party/double-conversion/src)\nwhen git checkout writes newly tracked fuchsia.git files into the\nunmoved subproject directory before jiri update runs. Advancing the\nbaseline past that migration unblocks git-clone-fuchsia-tester while\ngraceful handling in fx sync remains tracked in the linked bug.\n\nBug: 582835944\nChange-Id: Ia4b96b6b06e89002e751dbe8b31268416a6a6964\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1962534\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: David Iserovich \u003cdiserovich@google.com\u003e\nFuchsia-Auto-Submit: Hunter Freyer \u003chjfreyer@google.com\u003e\nCommit-Queue: Hunter Freyer \u003chjfreyer@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "05a3cb420c93abf4e10d07a87e887cde785e5341",
      "tree": "5fcec7cc229d576e77b264e35d4ad6d3bb5646b9",
      "parents": [
        "7f4118bbdfa952a510471c34d4a58303704d7ac5"
      ],
      "author": {
        "name": "Hunter Freyer",
        "email": "hjfreyer@google.com",
        "time": "Mon Nov 09 07:45:09 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 07:45:09 2026 -0800"
      },
      "message": "[snap_branch] Use jiri.project_pins() to resolve snapped project pins\n\nReplace `RepoToSnap` configuration in `release/snap_branch.py` with a\n`projects_to_snap` list of project names and dynamic pin discovery via\n`api.jiri.project_pins()`.\n\nOrder `projects_to_snap` leaves-first, snap repositories where\n`target_branch` exists on the remote, and reconcile each parent\nrepository\u0027s pin via `api.jiri.update_pin()`.\n\nKeep `repos_to_snap` marked `deprecated \u003d true` (falling back to\n`[r.name for r in props.repos_to_snap]`) so existing builder configs\ncontinue working smoothly across the rollout.\n\nBug: 575841682\nChange-Id: I3cad7ff496559efb2d0fdada2b8184fe6ec2a395\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1942574\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nCommit-Queue: Hunter Freyer \u003chjfreyer@google.com\u003e\n"
    },
    {
      "commit": "7f4118bbdfa952a510471c34d4a58303704d7ac5",
      "tree": "10b22f406b2d63606df84c72ca24fd41690da456",
      "parents": [
        "aa7b0deda68528e4204508f622debd3f71b9c058"
      ],
      "author": {
        "name": "Hunter Freyer",
        "email": "hjfreyer@google.com",
        "time": "Mon Nov 09 07:42:37 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 07:42:37 2026 -0800"
      },
      "message": "[cherry_pick] Use jiri.project_pins() for multi-hop rolls\n\nReplace `SubimportRepo`/`subimports` configuration and `\u003cimport\u003e`\nmanifest hacks in `release/cherry_pick.py` with dynamic project pin\nresolution via `api.jiri.project_pins()` and `api.jiri.update_pin()`.\n\nPrepare all cherry-pick commits, intermediate parent manifest pin commits,\nand the root integration commit and release tag locally first, then push\nall modified repositories leaves-first in a single `push changes` phase so\nlocal failures cannot leave remote release branches partially rolled.\n\nKeep `subimports` marked `deprecated \u003d true` in `cherry_pick.proto`\ntemporarily so existing builder properties continue to parse cleanly.\n\nBug: 580924899, 575841682, 385378627\nChange-Id: I2afb7b4e5c4345c12a27a367f3a450443743f8ce\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1942573\nCommit-Queue: Hunter Freyer \u003chjfreyer@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "aa7b0deda68528e4204508f622debd3f71b9c058",
      "tree": "fe26cdb2c6f3f00e02a9d8b41d6243b36e6f8236",
      "parents": [
        "e26395cb37fb17f00dce3fe2b0e2224677652318"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 07:01:04 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 07:01:04 2026 -0800"
      },
      "message": "[firebase_docs] Fix proto comments\n\nFixed misleading comments in firebase_docs.proto. dry_run now says it\nskips the firebase deploy and uploads to CAS instead. generators is now\ndescribed as doc generators (\"clang-doc\"/\"rustdoc\", both used when\nunset) rather than packages to build. output_name now says it only gates\nthe firebase deploy (only \"all\" deploys). build_timeout_secs now\ndocuments its 90-minute default.\n\nChange-Id: Iadb0a99a4c50a4154274091ae6fcb598eb3dcfd7\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1955302\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Betram Lalusha \u003cbetramlalusha@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "e26395cb37fb17f00dce3fe2b0e2224677652318",
      "tree": "3837d2df3fd5f1f9c92ed6c668de7978587f3cc9",
      "parents": [
        "f1e13ec16f47298300b1b71f4ca77bb7da5ff4fa"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 06:32:08 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 06:32:08 2026 -0800"
      },
      "message": "[bad_devices] Fix proto comments\n\nThe dry_run comment said it suppresses Buganizer alerts, but the recipe\nnever files any bugs; it only skips the BigQuery upload. Documented that\nthe deprecated bigquery_project is still the fallback destination\nproject, and spelled out when the anomaly upload happens: project,\ndataset and table all set, not a dry run, and at least one anomaly\nfound.\n\nChange-Id: Iad4120e8a1526c47b559383dbb61bcf4ae0a8661\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1946689\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "f1e13ec16f47298300b1b71f4ca77bb7da5ff4fa",
      "tree": "1b7a6af5ba8256c2e5bdfe12b30bd01e4a1ae417",
      "parents": [
        "b5bc0e1df480f328771168a908d8aae61dda963f"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Mon Nov 09 06:20:01 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 06:20:01 2026 -0800"
      },
      "message": "[buildbucket_trigger] Fix proto comments\n\nThe interval and timeout comments didn\u0027t give units or defaults. They\nnow say both are in seconds and default to 60 and 3600 when unset, which\nis how api.buildbucket.collect_builds handles them. The builders comment\nnow says the builders are scheduled in the current build\u0027s project and\nbucket.\n\nChange-Id: I67d8038c96253e64755190441a6702b9cbc0e08e\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1947550\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\n"
    },
    {
      "commit": "b5bc0e1df480f328771168a908d8aae61dda963f",
      "tree": "c45789bf6c582d60e3dada070407cb88a0355a1f",
      "parents": [
        "6bf8de4a84625b1bee66696dbd43f09ae317a68c"
      ],
      "author": {
        "name": "eakammer",
        "email": "eakammer@google.com",
        "time": "Mon Nov 09 06:18:21 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Nov 09 06:18:21 2026 -0800"
      },
      "message": "[presubmit_util] Remove dead test properties\n\nThe roll_options and wait_for_presubmit properties were passed to\nseveral test cases in recipe_modules/presubmit_util/tests/full but are\nnot part of InputProperties.\n\nRemove them along with the unused auto_roller test dependency, and\nupdate api.properties(...) to pass InputProperties positionally so\nundefined properties fail immediately.\n\nChange-Id: I8c988bb59152b5ce973b79eac16bfe7d6a6a6964\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956512\nFuchsia-Auto-Submit: Liz Kammer \u003ceakammer@google.com\u003e\nReviewed-by: Carver Forbes \u003ccarverforbes@google.com\u003e\nCommit-Queue: Liz Kammer \u003ceakammer@google.com\u003e\n"
    },
    {
      "commit": "6bf8de4a84625b1bee66696dbd43f09ae317a68c",
      "tree": "dbcf1bc4040cd204a0df4d24d503a5aa099297d8",
      "parents": [
        "844f5b783037735c77d2c4d7c48445f7daeba078"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Sun Nov 08 23:39:41 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sun Nov 08 23:39:41 2026 -0800"
      },
      "message": "[gerrit_auto_submit] Summarize eligibility on details step\n\nSet the \"get details for \u003cchange\u003e\" step\u0027s summary text to the\neligibility result (\"eligible\" or \"found dependent changes, not\nsubmitting\") so it\u0027s visible without expanding the step.\n\nChange-Id: I3abba30003204bc80eebfc47456b218ed69cdd38\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956855\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Benny Wen \u003cshenghanw@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "844f5b783037735c77d2c4d7c48445f7daeba078",
      "tree": "0e748e59adf566fe7cefbcd1a776228c67b530c0",
      "parents": [
        "1159de61d42c0965a4debbe65eeefb65e7725588"
      ],
      "author": {
        "name": "Benny Wen",
        "email": "shenghanw@google.com",
        "time": "Sun Nov 08 20:04:10 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sun Nov 08 20:04:10 2026 -0800"
      },
      "message": "[cipd_upload_audit] Turn the CIPD ACL audit into an upload audit\n\nPackages in our CIPD prefixes should only be uploaded by builders. Add a\nmodule and recipe that report packages whose recent instances were\nuploaded by a human (or an unallowlisted service account) or by a legacy\nservice account (@fuchsia-infra.iam.gserviceaccount.com), and fail when a\npackage joins either list that was not on it in the previous run.\n\nThe ACL audit is not going to be used: CIPD ACLs are moving to realms\nand that audit will be redone against the new model. This reuses its\nscanning approach and replaces cipd_acl_audit rather than keeping both.\n\nFor each configured prefix, a resource script lists every package and\nqueries each one\u0027s 10 most recent instances, one spaced-out request at a\ntime in a single step, and keeps only uploads from humans (any identity\nnot in the builder service-account project allowlist) and legacy service\naccounts within the past 90 days. A per-prefix circuit breaker stops\nquerying after 20 consecutive package failures so a degraded CIPD\nbackend fails fast rather than timing out the step. The module then:\n\n* compares each prefix\u0027s \"human\" and \"legacy\" package lists with the\n  previous run\u0027s (keyed by prefix in builder_state) and reports packages\n  new to either list as regressions, one failed step per package; the\n  build fails only on regressions, and state is saved anyway so each\n  package fails one build until all of its manual uploads age out of the\n  10-instance/90-day window (tracking per package rather than per\n  instance so unmigrated packages and legacy builders do not fail every\n  daily run);\n* lists every package with a manual upload in the window as a warning\n  step under \"manual uploads\";\n* puts regression details and per-list totals in the build summary;\n* treats any prefix with no previous state as a baseline for that prefix;\n* keeps the previous lists for packages that could not be queried, so a\n  transient error neither drops a package nor re-reports it;\n* infra-fails without saving state if a prefix can\u0027t be listed, lists no\n  packages, or more than 10% of its packages can\u0027t be queried.\n\nBug: 521933617\nChange-Id: I4654c7e3d8815119d360c926e42676e37dca440f\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1943792\nReviewed-by: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: Benny Wen \u003cshenghanw@google.com\u003e\n"
    },
    {
      "commit": "1159de61d42c0965a4debbe65eeefb65e7725588",
      "tree": "3069c6a95700106084b2842046e4550d9f701916",
      "parents": [
        "9f362961569d78e0242178b029557169131e7e46"
      ],
      "author": {
        "name": "recipe-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Sat Nov 07 01:52:54 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sat Nov 07 01:52:54 2026 -0800"
      },
      "message": "Roll recipe dependencies (trivial).\n\nThis is an automated CL created by the recipe roller. This CL rolls\nrecipe changes from upstream projects (recipe_engine) into this repository.\n\nThe build that created this CL was\nhttps://ci.chromium.org/b/8665805248495317793\n\nrecipe_engine:\nhttps://chromium.googlesource.com/infra/luci/recipes-py/+/7b1cc13c89b31adcb8a483d2b54ce0c59001442c\n  7b1cc13 (chromium-autoroll@skia-public.iam.gserviceaccount.com)\n      Roll CAS Client from 41f0d15c9585 to c28a961510f2\n\nPlease check the following references for more information:\n- autoroller, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#autoroller\n- rollback, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/workflow.md#rollback\n- cross-repo dependencies, https://chromium.googlesource.com/infra/luci/recipes-py/+/main/doc/cross_repo.md\n\nUse https://goo.gl/noib3a to file a bug.\n\nRecipe-Tryjob-Bypass-Reason: Autoroller\nIgnore-Freeze: Autoroller\nBugdroid-Send-Email: False\nChange-Id: Ie4ab4248abf533f8e13da24703122266ec40b227\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1959352\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "9f362961569d78e0242178b029557169131e7e46",
      "tree": "011414968018641f2d5233c6fafd438b9423d1c2",
      "parents": [
        "c54922efb333399199a8d31260dafffa081a7154"
      ],
      "author": {
        "name": "Gulfem Savrun",
        "email": "gulfem@google.com",
        "time": "Fri Nov 06 17:27:51 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 17:27:51 2026 -0800"
      },
      "message": "[clang_toolchain] Disable preinit_array and getline_nohang\n\nDisable MemorySanitizer-* :: preinit_array.cpp and\nThreadSanitizer-* :: getline_nohang.cpp on Linux builders\nbecause lit checks the older sysroot glibc while running\non a newer host glibc.\n\nBug: 582571452\nChange-Id: I62c306cc9fd81f659acb9ca7876ada6f42e7756a\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1958532\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nReviewed-by: Paul Kirth \u003cpaulkirth@google.com\u003e\nFuchsia-Auto-Submit: Gulfem Savrun \u003cgulfem@google.com\u003e\nCommit-Queue: Gulfem Savrun \u003cgulfem@google.com\u003e\n"
    },
    {
      "commit": "c54922efb333399199a8d31260dafffa081a7154",
      "tree": "f8cc617b38491af486ec45f27903f954365b078d",
      "parents": [
        "d8e7b11aec17e86b54413f501e5e08a18c2dff63"
      ],
      "author": {
        "name": "Gulfem Savrun",
        "email": "gulfem@google.com",
        "time": "Fri Nov 06 15:09:31 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 15:09:31 2026 -0800"
      },
      "message": "[clang_toolchain] Disable tsan thrd_race.c on Linux\n\nDisable ThreadSanitizer-* :: thrd_race.c on Linux builders\nbecause the sysroot glibc is older than the host glibc, so\nlibclang_rt.tsan lacks C11 thread interceptors.\n\nBug: 582571452\nChange-Id: I543e2c0a848d7fa967d17fab4dd7a156a7cea338\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1958212\nCommit-Queue: Gulfem Savrun \u003cgulfem@google.com\u003e\nReviewed-by: Paul Kirth \u003cpaulkirth@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "d8e7b11aec17e86b54413f501e5e08a18c2dff63",
      "tree": "fdbc48d2978422dd6c62d7fc8e05074de5c0f50c",
      "parents": [
        "c54ae19cf1dcdf3defa78ad65d6a7d976042e5ba"
      ],
      "author": {
        "name": "Hunter Freyer",
        "email": "hjfreyer@google.com",
        "time": "Fri Nov 06 14:55:10 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 14:55:10 2026 -0800"
      },
      "message": "[jiri] Add project_pins() and update_pin() helpers\n\nAdd `api.jiri.project_pins(checkout_root)` to resolve a Jiri checkout\u0027s\nrepository pin metadata from `jiri project -list-remote-projects`\n(`imported_by`, `import_manifest`, and `manifest` fields), and\n`api.jiri.update_pin(project, revision)` to edit a project\u0027s `\u003cimport\u003e`\nor `\u003cproject\u003e` pin in its parent\u0027s manifest.\n\n`project_pins()` returns `dict[str, Project]` keyed by project name\n(failing if duplicate project names exist in the checkout), where each\nnon-root `Project` carries `pin: ManifestPin` (`parent`, `manifest`, and\n`is_import`).\n\nBug: 575841682, 580924899\nChange-Id: I0b87b3049d30ea356634037f85ef3c207736c76f\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1942572\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nCommit-Queue: Hunter Freyer \u003chjfreyer@google.com\u003e\nReviewed-by: Oliver Newman \u003colivernewman@google.com\u003e\n"
    },
    {
      "commit": "c54ae19cf1dcdf3defa78ad65d6a7d976042e5ba",
      "tree": "aa6372171ce5c1d1f82ea2d773edb2cdaeedfa99",
      "parents": [
        "bd4abcbe8149639cf83ea4f320570e5b5b49f980"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Fri Nov 06 14:52:21 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 14:52:21 2026 -0800"
      },
      "message": "[gerrit_dependency_satisfy] Follow pass-through changes\n\nAdd a pass_through_projects option listing Gerrit projects whose\nchanges are never submitted and only exist to carry Depends-on footers\non behalf of other changes, e.g. so a change on a public host can depend\non changes on hosts it can\u0027t name. A dependency on a pass-through change\nis replaced by that change\u0027s own Depends-on footers, recursively and\ntolerating cycles, so its own NEW (or MERGED) status doesn\u0027t block.\nAbandoned pass-through changes are treated as ordinary dependencies,\nwhich are never satisfied, and their footers aren\u0027t followed.\n\nPass-through changes may be on hosts that aren\u0027t otherwise watched, but\nonly pass-through changes may be referenced on such hosts. Bad footers\non a pass-through change are reported on the depending change with the\nmaybe-transient tag, since fixing the pass-through change doesn\u0027t\nrequire a new patchset of the depending change. Circular dependencies\nare detected through pass-through changes, which are never part of an\natomic set. Pass-through changes on watched hosts aren\u0027t voted on.\n\nIf the option is unset, behavior is unchanged.\n\nBug: b/546600475\nChange-Id: I85f54322713ca508d523b4db6fa381f8358f1b2c\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1957632\nReviewed-by: Petr Lomakin \u003cplomakin@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "bd4abcbe8149639cf83ea4f320570e5b5b49f980",
      "tree": "ced019745c1a7ddd7e9204ee112bf041a942f6fc",
      "parents": [
        "bb703656a42400d69dd7cc9a303111242b504ece"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Fri Nov 06 14:14:05 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 14:14:05 2026 -0800"
      },
      "message": "[mirror_version] Fix proto comments\n\nClarified the src_remote and dest_remote comments to say how each repo\nis used: the source is checked out at HEAD and its release tags resolve\nthe version of the GitOrigin-RevId commit. The destination holds the\nbuild input commit, which gets tagged, and the tag is pushed there. Also\nmade the dry_run comment say that it applies to the push of the release\nversion tag.\n\nChange-Id: If06c712211795629f5139d85e03cd334a352e22c\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956664\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Rahul Bangar \u003crahulbn@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "bb703656a42400d69dd7cc9a303111242b504ece",
      "tree": "b413ed12d98676c8ed4d3302228539791aa8ba7e",
      "parents": [
        "b5601fb34e47d16639a71357029c94af707bd30a"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Fri Nov 06 14:13:20 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 14:13:20 2026 -0800"
      },
      "message": "[ninja] Fix proto comments\n\nDocumented that `platform` defaults to the host platform and uses\n\"\u003cos\u003e-\u003carch\u003e\" form. Also documented that when `min_baking_delay_days` is\n0 (the default), the latest commit is built without a CIPD up-to-date\ncheck, so `force_build` only has an effect when `min_baking_delay_days`\n\u003e 0.\n\nChange-Id: Ie6a993e58c994fe927698ebc66a716e1b339a785\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956505\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Rahul Bangar \u003crahulbn@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "b5601fb34e47d16639a71357029c94af707bd30a",
      "tree": "5388f5bb8db4f9e64d001e669f42d194df48f646",
      "parents": [
        "58bab01128de202a58ee3fceb78122c5972a0f8e"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Fri Nov 06 14:13:03 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 14:13:03 2026 -0800"
      },
      "message": "[cherry_pick] Fix proto comments\n\nSeveral cherry_pick.proto comments were incomplete or misleading.\n`integration_repo_options` now says a repo is also selected when its\nremote matches `target_remote`, and that the recipe fails if nothing\nmatches. `change_url` now says the recipe ignores and overwrites it, and\n`dryrun` now describes what actually happens (dry-run pushes, no\ndownstream build lookup). Also documented which fields are required, the\n`subimports` and `candidate_version_increment` defaults, the stricter\n`target_branch` format, and how `target_project`, `target_remote` and\n`import_in` are handled.\n\nChange-Id: Ie06f179622bc2784b18affc29d5dc4dd83e51d6a\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1948461\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Rahul Bangar \u003crahulbn@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "58bab01128de202a58ee3fceb78122c5972a0f8e",
      "tree": "f02d4f277d9447eef9e5de72ed8e4676c8eb4dca",
      "parents": [
        "7e295c014b97b3bea806780931e8ce38057cb7f2"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Fri Nov 06 14:10:29 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 14:10:29 2026 -0800"
      },
      "message": "[toolchain_cipd_ref_tagger] Fix proto comments\n\nFixed the comment on `refs`, which didn\u0027t mention that it defaults to\n[\"nightly\"] when unset. Added comments to the undocumented\n`roller_name`, `roller_bucket`, `output_property_name` and `packages`\nfields, covering how the candidate version is chosen: the most recent of\nthe roller\u0027s last 20 builds from the past 21 days that sets the output\nproperty.\n\nChange-Id: I240ea7cc79ca57f195b4929b45d0fb095a970e04\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956841\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Rahul Bangar \u003crahulbn@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "7e295c014b97b3bea806780931e8ce38057cb7f2",
      "tree": "300af4d032ea406a7c5854456ccb8001ee25e9b8",
      "parents": [
        "1b60f8be351089bfd7c87aa171393ab988944333"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Fri Nov 06 14:10:02 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 14:10:02 2026 -0800"
      },
      "message": "[upload_yaml_bigquery] Fix proto comments\n\nClarified that `repo` is a git repository URL and that `yaml_path` is\nrelative to the checkout root. Also documented that the parsed YAML is\nuploaded as JSON in the \"data\" column, along with the revision and its\ncommit timestamp.\n\nChange-Id: Ib074d341927b036473fbce71fe41c20f1e2179fd\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1955765\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Rahul Bangar \u003crahulbn@google.com\u003e\n"
    },
    {
      "commit": "1b60f8be351089bfd7c87aa171393ab988944333",
      "tree": "b307bebc7520df59afd9c7bf267420d77f5cec14",
      "parents": [
        "76c55eb218e5c6c1f8f39987892ef7a5f46bdaae"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Fri Nov 06 14:06:26 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 14:06:26 2026 -0800"
      },
      "message": "[flapjack] Fix proto comments\n\nDocumented the defaults that apply when fields are unset: manifest\n(\"flower\"), remote (the fuchsia integration repo), flapjack_version\n(\"dogfood\" CIPD ref) and gcp_project (\"fuchsia-flapjack-vuln-scanning\").\nAlso clarified that flapjack_version can be any CIPD version (ref, tag\nor instance ID).\n\nChange-Id: I5a626738f7a12a24e574e734024b6bc209d31904\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1955757\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Rahul Bangar \u003crahulbn@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "76c55eb218e5c6c1f8f39987892ef7a5f46bdaae",
      "tree": "5fbe7fcd401b52d28cd6d1067d195468a69f49aa",
      "parents": [
        "4262477fe69d7cf8c33b4b991fd618a0d199e5c3"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Fri Nov 06 14:05:58 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 14:05:58 2026 -0800"
      },
      "message": "[gerrit_nudge] Fix proto comments\n\nMarked `query` as required, since the recipe asserts it\u0027s set, and\ndocumented that it gets combined with `is:open -is:wip -age:1h`. Also\ndocumented how `lsc_project` is added to the suggested `fx lsc\npresubmit` command in the posted message.\n\nChange-Id: I7e26a735d6f147c30653ca5f1f6df2b12d289e82\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1955304\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Rahul Bangar \u003crahulbn@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "4262477fe69d7cf8c33b4b991fd618a0d199e5c3",
      "tree": "dd5064586cfe06c28e3ae5e2cdfd61dd82b1424f",
      "parents": [
        "ab83699092764393bdc2e59c3e1ce0cdf1d0fedb"
      ],
      "author": {
        "name": "global-integration-roller",
        "email": "global-integration-roller@fuchsia-infra.iam.gserviceaccount.com",
        "time": "Fri Nov 06 13:23:38 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 13:23:38 2026 -0800"
      },
      "message": "[roll] Update pinned tools\n\n- fuchsia/tools/jiri/${platform}\n\nRoller-URL: https://cr-buildbucket.appspot.com/build/8665852806713381569\nCQ-Do-Not-Cancel-Tryjobs: true\nChange-Id: Ibe55f75421a1731a7073b4673291c91b5b5cf65a\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1957633\nLint: android-build-ayeaye@system.gserviceaccount.com \u003candroid-build-ayeaye@system.gserviceaccount.com\u003e\nCommit-Queue: global-integration-roller@fuchsia-infra.iam.gserviceaccount.com \u003cglobal-integration-roller@fuchsia-infra.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "ab83699092764393bdc2e59c3e1ce0cdf1d0fedb",
      "tree": "8389a8741dd345057049e0962510c306eafa880a",
      "parents": [
        "45c1b4d8908dc152d695e746e7e24266e79f0cce"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Fri Nov 06 13:08:55 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 13:08:55 2026 -0800"
      },
      "message": "[publish_build_artifacts] Fix proto comments\n\nUpdated publish_build_artifacts.proto comments to match what the recipe\nenforces and does. `publish\u003dfalse` was described as \"just build and\nvalidate\", but artifacts are actually uploaded to CAS and listed in a\n`cas_digests` output property; the comment now says so. Also documented\nthe required \"/${platform}\" suffix on `cipd_package`, that\n`gcs_bucket`/`gcs_path` must be set together, the `tools` field, and how\nper-file CIPD paths are built from `root_build_artifacts_cipd_path`.\n\nChange-Id: I83847da1bb0e7105939b828f37bdbbf5113637bd\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1955305\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "45c1b4d8908dc152d695e746e7e24266e79f0cce",
      "tree": "91525952750222756e160b8b31e4c018275f03f8",
      "parents": [
        "03ad7e54904055e4c2bfc7493b7aff38c78819d7"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Fri Nov 06 13:06:48 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 13:06:48 2026 -0800"
      },
      "message": "[jq] Fix proto comments\n\nDocumented behavior the jq property comments left out: dry_run uploads\nthe build to CAS instead and skips the CIPD up-to-date check.\nmin_baking_delay_days of 0/unset means no delay and no up-to-date check\n(HEAD is always built). force_build only has an effect when\nmin_baking_delay_days \u003e 0.\n\nChange-Id: I9e455aee886c24ba19f127586a216a9343de51ca\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1955760\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "03ad7e54904055e4c2bfc7493b7aff38c78819d7",
      "tree": "ac4ef5754cb297e94c3ff4aba3e2743d46200170",
      "parents": [
        "e87ccbce2cac8656676e5be4503b5cbef2bb8d20"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Fri Nov 06 13:06:23 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 13:06:23 2026 -0800"
      },
      "message": "[linux_sysroot] Fix proto comments\n\nDocumented how the `release` field is used: it picks the debroot\nlockfile (`tools/debroot/cmd/\u003crelease\u003e.lock`) and the CIPD package name\n(`fuchsia/third_party/sysroot/\u003crelease\u003e`). It also now says what happens\nwhen it\u0027s unset: `packages.lock` is used and the package goes to\n`fuchsia/third_party/sysroot/linux`.\n\nChange-Id: I3a97195700a1d91b9e34f496cd64cbe24d7e66ae\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956502\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "e87ccbce2cac8656676e5be4503b5cbef2bb8d20",
      "tree": "e7424b394e2da1d762a45838fef1db55d776cf3e",
      "parents": [
        "7806e87cb94b47ca7bcae9a39b28d0b7ecd7170e"
      ],
      "author": {
        "name": "eakammer",
        "email": "eakammer@google.com",
        "time": "Fri Nov 06 13:04:52 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 13:04:52 2026 -0800"
      },
      "message": "[toolchain_cipd_roller] Remove dead test props\n\nThe test_multipliers property was removed from the recipe proto when\nmultipliers moved to testsharder/fint, and tag is not part of\ntoolchain_cipd_roller.proto.\n\nRemove dead test properties and update api.properties(...) to pass\nInputProperties positionally so undefined properties fail immediately.\n\nChange-Id: Iadc77a487d69701f86086cafc232a1346a6a6964\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1955433\nFuchsia-Auto-Submit: Liz Kammer \u003ceakammer@google.com\u003e\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\nCommit-Queue: Liz Kammer \u003ceakammer@google.com\u003e\n"
    },
    {
      "commit": "7806e87cb94b47ca7bcae9a39b28d0b7ecd7170e",
      "tree": "dcf9de7321dd6f4b9d9c86f8afa3adf1fd17e0c2",
      "parents": [
        "92d624fc5343d0507a9d54d3fc04ad9fc4272705"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Fri Nov 06 13:02:52 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 13:02:52 2026 -0800"
      },
      "message": "[docsgen] Fix proto comments\n\nClarified that dry_run still generates and commits docs locally and only\nskips the push to main of reference-docs, and that incremental_build\nalso enables the incremental cache for the checkout, not just the build.\n\nChange-Id: I58c8d18e6766f8452e64653271b606cd3497d81e\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956657\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\n"
    },
    {
      "commit": "92d624fc5343d0507a9d54d3fc04ad9fc4272705",
      "tree": "9b3fa5ff2f330a509bc159e26e30289f71f0cb83",
      "parents": [
        "df9d34787f261a32a322be86f79e9124b2511631"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Fri Nov 06 13:02:20 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 13:02:20 2026 -0800"
      },
      "message": "[submodule_roller] Fix proto comments\n\nFixed the send_comment comment: this recipe doesn\u0027t post comments\nitself. It only adds Rolled-Repo/Rolled-Commits footers so that the\nroll_comment recipe can comment later. Also fixed the default_ref\ncomment: it is used, and required, whenever the build input has no\ngitiles commit in the submodule\u0027s repo, and an input ref is never used.\nNoted that remote is the superproject (it also sets the Gerrit host) and\nthat submodule_path is a required path relative to the checkout root.\n\nChange-Id: Ie1240ffbc65123d3ca9c0b9ff55fe247234272ef\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956670\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\n"
    },
    {
      "commit": "df9d34787f261a32a322be86f79e9124b2511631",
      "tree": "9351e95f0d257869d3daa009c4901361106dd19b",
      "parents": [
        "9ac229bdb89a3ab9e39bf16df8e9f63fee27d28c"
      ],
      "author": {
        "name": "Rob Mohr",
        "email": "mohrr@google.com",
        "time": "Fri Nov 06 13:00:49 2026 -0800"
      },
      "committer": {
        "name": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Nov 06 13:00:49 2026 -0800"
      },
      "message": "[rust_llvm_trigger] Fix proto comments\n\nClarified rust_llvm_trigger property comments: start_time_delta_days was\ndescribed as \"Earliest build from today\" but is a lookback window in\ndays that defaults to 1. The comments now also cover the special\n\"integration\" value and the unset fallback for\nllvm_revision/rust_revision, the units (seconds) for\ninterval_secs/timeout_secs, the fallback to the build\u0027s gitiles commit\nwhen llvm_repo is unset, the build properties that rust_repo/llvm_repo\nare passed as, and the BuildSetMode enum values.\n\nChange-Id: I08e065c181abd26e8477ba656b663a05b55ab02a\nReviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1956667\nFuchsia-Auto-Submit: Rob Mohr \u003cmohrr@google.com\u003e\nPresubmit-Verified: fuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cfuchsia-internal-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nCommit-Queue: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Advik Sachdeva \u003cadviks@google.com\u003e\n"
    }
  ],
  "next": "9ac229bdb89a3ab9e39bf16df8e9f63fee27d28c"
}
