)]}'
{
  "commit": "9edd79dbb01f79f44f3724d5529ce6509054c296",
  "tree": "b2e67948b494c10154135d8dbe71546bb5240ccb",
  "parents": [
    "aebf260f70e593c24235cc8917af714bb03e3722"
  ],
  "author": {
    "name": "Darren Chan",
    "email": "chandarren@fuchsia.infra.roller.google.com",
    "time": "Thu Sep 11 18:42:45 2025 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Sep 11 18:44:14 2025 -0700"
  },
  "message": "[roll] Roll infra/recipes [artifact_versioning] Allow preflighting artifacts\n\nThis change introduces\n`api.artifact_versioning.register_artifact_preflight`, allowing\nartifacts to be validated earlier in CQ without registering them with\nthe prod/preprod upstream backend endpoints.\n\nSpecifically this will help us catch cases where multiple boards\n(eg: `sorrel` and `sorrel_recovery`) are reported to have the same\nunique MOS identifier (`name_sanitized` in the output of\n`ffx --machine json product get-version`) which has caused non-blocking\nbuilder failures in our canary assembly artifact release builders.\n\nNote: This approach cannot account for cross-builder collisions\n(eg: `vim3` and `vim3-vg`, which are reported across 2 different\nbuilders).\n\nAlso adds `api.artifact_versioning.get_artifact_metadata`, enabling\ncallers to determine whether an artifact path is a supported assembly\nartifact with metadata.\n\nOriginal-Bug: 444492378, 434965053\nOriginal-Reviewed-on: https://fuchsia-review.googlesource.com/c/infra/recipes/+/1366556\nOriginal-Revision: 1e8a7df201ebd3d0dd1fe3b1d55b23a8b4add921\nGitOrigin-RevId: aa6e556ed02a5354e4607f7022a48e10a618de9d\nChange-Id: I9658c6ee0493b82a13dc8bd0492238ab715a16c2\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "941b17d7cb90fcf0eee0efd4ff2844394ccd31f6",
      "old_mode": 33188,
      "old_path": "infra/recipes",
      "new_id": "0e6889d4f27e0095465bda6c38ab472907fc9993",
      "new_mode": 33188,
      "new_path": "infra/recipes"
    }
  ]
}
