)]}'
{
  "commit": "981951ab52a31884a236f9d3b28191ffac58c891",
  "tree": "31d0e60e5e808adae591fc63b218b506f5f7b8ee",
  "parents": [
    "719fc794c77ab6d09fe3cfaa563b18cf778a4d15"
  ],
  "author": {
    "name": "Manan J. Mehta",
    "email": "mjmehta@google.com",
    "time": "Wed Jun 17 23:18:19 2026 +0000"
  },
  "committer": {
    "name": "Manan J. Mehta",
    "email": "mjmehta@google.com",
    "time": "Thu Aug 06 23:28:33 2026 +0000"
  },
  "message": "flashupdate: Implement BIOS key metrics writer for key rotation\n\nIntroduce the BIOS key metrics writer logic in flashupdate. This writes\ntelemetry data to `/run/bios_key/` containing four metrics:\n- bios_key_validation_method: EMBEDDED_KEY or PAYLOAD_KEY\n- bios_key_image_family: Decimal image family of the validating key\n- bios_key_version: The config package version from Hoth key rotation record\n- bios_key_validation_key_data: First 64 bits of the validating key\u0027s modulus (hex)\n\nThe metrics writer is hooked into:\n1. isBiosKeyRotationSupport(): Writes EMBEDDED_KEY when key rotation is\n   not supported or there are zero keys defined.\n2. trustKeyInCr51Signature(): Writes PAYLOAD_KEY, image family, version\n   (queried via libhoth_key_rotation_get_version), and validation key data\n   (extracted from the validating key\u0027s modulus) when a key match happens.\n\nUpdated unit tests to align with this design and added mock coverage for\nlibhoth_key_rotation_get_version.\n\nGoogle-Bug-Id: 459542518\nChange-Id: Ibdf47909f85cf2ebd30fc9ed1bf02db3a543bc0d\nSigned-off-by: Manan J. Mehta \u003cmjmehta@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f3f82358b39304ef30b0314cd13d720c3568b663",
      "old_mode": 33188,
      "old_path": "subprojects/flashupdate/meson_options.txt",
      "new_id": "2bec75880b6e37f4290902fd37846e292ce6128c",
      "new_mode": 33188,
      "new_path": "subprojects/flashupdate/meson_options.txt"
    },
    {
      "type": "modify",
      "old_id": "9319b8f5dd9afc2953cd3bec43215b284d63e536",
      "old_mode": 33188,
      "old_path": "subprojects/flashupdate/src/meson.build",
      "new_id": "2cd79b73193588adb096750717d68890ee45720c",
      "new_mode": 33188,
      "new_path": "subprojects/flashupdate/src/meson.build"
    },
    {
      "type": "modify",
      "old_id": "d272628e26e7a333629714f371be2c2933aeefc3",
      "old_mode": 33188,
      "old_path": "subprojects/flashupdate/src/validator/key_rotate_helper.cpp",
      "new_id": "a20ad26edc3acc3d1283b9c32f8d8267784fc38b",
      "new_mode": 33188,
      "new_path": "subprojects/flashupdate/src/validator/key_rotate_helper.cpp"
    },
    {
      "type": "modify",
      "old_id": "da88f19e5d45ae31f894dd62dc5f8662d634d87e",
      "old_mode": 33188,
      "old_path": "subprojects/flashupdate/test/validator/key_rotate_helper.cpp",
      "new_id": "0f211317d6d1ded8dbb98dbce94c66f15cb94657",
      "new_mode": 33188,
      "new_path": "subprojects/flashupdate/test/validator/key_rotate_helper.cpp"
    }
  ]
}
