)]}'
{
  "log": [
    {
      "commit": "216788e529204bb5d2841c233b0f5e1e41747880",
      "tree": "78795cb5576a72f686beacc56dea9de359600c46",
      "parents": [
        "6ffd3d118bbdbc04753ac215a512bba7d8905034"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Tue Jun 16 14:09:21 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jun 16 14:09:45 2026 -0700"
      },
      "message": "Fix undefined behavior in std::isalnum inside ShellEscape\n\nPass static_cast\u003cunsigned char\u003e(c) to std::isalnum to prevent undefined behavior when\nnon-ASCII/UTF-8 input values trigger sign-extension to negative integers.\n\nAdded unit test to verify escaping of non-ASCII characters.\n\nBEGIN_PUBLIC\nFix undefined behavior in std::isalnum inside ShellEscape\n\nPass static_cast\u003cunsigned char\u003e(c) to std::isalnum to prevent undefined behavior when\nnon-ASCII/UTF-8 input values trigger sign-extension to negative integers.\nEND_PUBLIC\n\nPiperOrigin-RevId: 933290984\nChange-Id: I223c9b86faae40bda35f111f24eb50686688e6ac\n"
    },
    {
      "commit": "6ffd3d118bbdbc04753ac215a512bba7d8905034",
      "tree": "6e6739151a6106496ba72b02c9774ffd9ac50951",
      "parents": [
        "24921f423abc5a433a1b5226c336124dc81284a8"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Tue Jun 16 13:30:07 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jun 16 13:30:34 2026 -0700"
      },
      "message": "Fix Denial of Service via std::string Nullptr Instantiation in FakeAuthContext\n\nCheck value.data() before std::string instantiation to avoid crash/terminate from nullptr.\n\nAdded unit test to verify EmptyPropertyDoesNotCrash.\n\nBEGIN_PUBLIC\nFix Denial of Service via std::string Nullptr Instantiation in FakeAuthContext\n\nCheck value.data() before std::string instantiation to avoid crash/terminate from nullptr.\nEND_PUBLIC\n\nPiperOrigin-RevId: 933269357\nChange-Id: I86e4283371a4164941a0fa3eac027b8835815b37\n"
    },
    {
      "commit": "24921f423abc5a433a1b5226c336124dc81284a8",
      "tree": "63ce78c38d9838af1b638a54fc7aa0ee83bfada5",
      "parents": [
        "6a89f0b274a1a8d27f1fd410b1069ddf525a5365"
      ],
      "author": {
        "name": "vBMC Team",
        "email": "vbmc-dev@google.com",
        "time": "Tue May 19 01:38:02 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 19 01:38:32 2026 -0700"
      },
      "message": "Fix 12 IncludeCleaner findings:\n* Included header \"util/task/status_macros.h\" is not used directly (6 times)\n* Used header \"third_party/absl/status/status_macros.h\" is not included directly (6 times)\n\n ⚠️ Did submitting this CL break you?\n Click the \"Roll back\" button above, write a description of the problem (ideally with supporting logs/dashboards/screenshots) and a human global approver will be assigned to review the generated rollback CL.\n* See go/include-cleaner for more information about the tool that generated this change.\n* The global approvers for this change category are currently piloting the go/reviewbot tool so you may see global-review-bot-composite as the approver. Please contact code-health-team@google.com if you have any questions/concerns about the approval process.\n\nSee go/include-cleaner-lsc-approval for more information on why you\u0027ve received this change and why it is important.\n\nThis CL looks good? Just grant approval!\nThis CL doesn’t look good? This is what you can do:\n* Revert this CL, by replying \"REVERT: \u003cprovide reason\u003e\"\n* File a bug under go/include-cleaner-bug for category IncludeCleaner if there\u0027s an issue with the CL content.\n* File a bug under go/rosie-bug if there\u0027s an issue with how the CL was managed.\n* For all other issues such as the formatting of the CL, please file a bug under\ngo/clrobot-bug.\n* Revert this CL and not get a CL that cleans up these paths in the future by\nreplying \"BLOCKLIST: \u003cprovide reason\u003e\". This is not reversible! We recommend to\nopt out the respective paths in your CL Robot configuration instead:\ngo/clrobot-opt-out.\n\nThis CL was generated by CL Robot - a tool that cleans up code findings\n(go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/third_party/ecclesia/tricorder.METADATA which is reachable following include_presubmits from //depot/google3/third_party/milotic/METADATA by\nfollowing go/clrobot#how-to-opt-in. Anything wrong with the signup? File a bug\nat go/clrobot-bug.\n\n#clrobot #MissingInclude #UnusedInclude\n\nBEGIN_PUBLIC\nAutomated Code Change\nEND_PUBLIC\n\nTested:\n    Local presubmit tests passed.\nPiperOrigin-RevId: 917686377\nChange-Id: I92f1eface80e56eca7e4ab9c37dd692874618f1d\n"
    },
    {
      "commit": "6a89f0b274a1a8d27f1fd410b1069ddf525a5365",
      "tree": "9882e71bc67d2e13d3ed21ee198cbac13874c007",
      "parents": [
        "f88890252b6ba3cdb8bcc1ffce7c23f188dd79f0"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Thu May 07 09:58:43 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 07 09:59:03 2026 -0700"
      },
      "message": "BEGIN_PUBLIC\nAdd MonotonicClock to Gloop\nEND_PUBLIC\n\nTested:\n  Presubmit\n  TGP: http://test/OCL:911333601:BASE:911970201:1778166807185:b9c931ad\nPiperOrigin-RevId: 912017807\nChange-Id: I65fa6ce2bd46be6a20df2144cd3047d1e5a04e4b\n"
    },
    {
      "commit": "f88890252b6ba3cdb8bcc1ffce7c23f188dd79f0",
      "tree": "1611f617656d0927577f1889204ecb034887c31b",
      "parents": [
        "646e2cbb64efa77487cca51dcfdadbef17a7fb11"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Tue Mar 31 10:27:37 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 10:27:58 2026 -0700"
      },
      "message": "Add QueryParameterValidatorPlugin to validate Redfish query parameters.\n\nThis plugin allows configuring which Redfish query parameters are permitted and provides specific validation rules for parameters like $expand (e.g., allowed options, max levels) and $select (e.g., regex pattern). Requests with disallowed or invalid query parameters will be rejected with a 400 Bad Request response.\n\nPiperOrigin-RevId: 892418944\nChange-Id: Ic1f71e98ab4c85687516fa7ace02df1de328c5fd\n"
    },
    {
      "commit": "646e2cbb64efa77487cca51dcfdadbef17a7fb11",
      "tree": "ee3890d13a85fa087cb9cd340f61f8e7b704d949",
      "parents": [
        "7ac2a1253bedbd1f5d1896b9563f52eb795a8490"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Tue Mar 31 10:19:30 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 10:19:49 2026 -0700"
      },
      "message": "Prevent starting the stream thread if the plugin is in a stopping state.\n\nPiperOrigin-RevId: 892413885\nChange-Id: I2008551dc4657e20e18a3b280b1c9f9fe6863b49\n"
    },
    {
      "commit": "7ac2a1253bedbd1f5d1896b9563f52eb795a8490",
      "tree": "f479af0fb81e5586d4fa4a535f85a811ff27c460",
      "parents": [
        "01a4dec3c7b87a22b80fd684c559f059c0081a29"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Thu Mar 26 09:29:28 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 26 09:30:40 2026 -0700"
      },
      "message": "Add mutex protection to BaseMachineState members.\n\nThis change introduces a mutex to guard the state variables within BaseMachineState and its derived classes, such as health, timestamps, and event IDs. This ensures thread safety when multiple threads access or modify these state variables. Additionally, calls to Shutdown() are added to destructors where necessary to ensure proper cleanup.\n\nPiperOrigin-RevId: 889887042\nChange-Id: I7c2278ed073444af0e563e0ae3ee661803b376ed\n"
    },
    {
      "commit": "01a4dec3c7b87a22b80fd684c559f059c0081a29",
      "tree": "013a9d0faee5ae0414c05461a5aa48287dd2366a",
      "parents": [
        "cc7a12e15c3446ededf17ac3f2bcb523c95e2b1f"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Mon Mar 23 12:29:32 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 23 12:29:53 2026 -0700"
      },
      "message": "Move the legacy type aliases for the util::Clock and\nutil::SimulatedClock to the absl headers. This should allow more LSC\nCLs to go through, especially for other core code, since removing\nutil/time/clock.h will no longer break code relying on transitive\nincludes to get the type aliases.\n\nBEGIN_PUBLIC\nMinor changes to #includes\nEND_PUBLIC\n\nPiperOrigin-RevId: 888224533\nChange-Id: I59ad7b404eff872a575019a77ed24766dc18e23f\n"
    },
    {
      "commit": "cc7a12e15c3446ededf17ac3f2bcb523c95e2b1f",
      "tree": "f724173431e3581e71fb7db0e109c67acb861277",
      "parents": [
        "45a3e722a11a6966122a7167d82708aedea2e4db"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Thu Mar 19 12:06:54 2026 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 19 12:07:16 2026 -0700"
      },
      "message": "Fix Use-After-Free bugs in metrics by using std::string\n\nThis change updates ephemeral metric fields from `absl::string_view`\nto `std::string`.\n\nThe metric framework aggregates labels asynchronously. Using a non-owning\n`string_view` for dynamically constructed strings (like hostnames or parsed\nURIs) leaves dangling pointers when the original string is destroyed.\nReplacing them with `std::string` ensures the framework safely owns a copy\nof the data.\n\nPiperOrigin-RevId: 886304558\nChange-Id: Iaf7a29e09481b8295306cf307637ba1c14022991\n"
    },
    {
      "commit": "45a3e722a11a6966122a7167d82708aedea2e4db",
      "tree": "4a2c587145c208a5968378d33c5fc231083f4cf8",
      "parents": [
        "e46e68f316450a35c27d63ea043c2819d4f7cacb"
      ],
      "author": {
        "name": "vBMC Team",
        "email": "vbmc-dev@google.com",
        "time": "Wed Mar 04 20:32:34 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 04 20:32:52 2026 -0800"
      },
      "message": "Fix 1 IncludeCleaner finding:\n* Used header \"third_party/voyager/protos/voyager_telemetry.proto.h\" is not included directly\n\n ⚠️ Did submitting this CL break you?\n Click the \"Roll back\" button above, write a description of the problem (ideally with supporting logs/dashboards/screenshots) and a human global approver will be assigned to review the generated rollback CL.\n* See go/include-cleaner for more information about the tool that generated this change.\n* The global approvers for this change category are currently piloting the go/reviewbot tool so you may see global-review-bot-composite as the approver. Please contact code-health-team@google.com if you have any questions/concerns about the approval process.\n\nSee go/include-cleaner-lsc-approval for more information on why you\u0027ve received this change and why it is important.\n\nThis CL looks good? Just LGTM and Approve it!\nThis CL doesn’t look good? This is what you can do:\n* Revert this CL, by replying \"REVERT: \u003cprovide reason\u003e\"\n* File a bug under go/include-cleaner-bug for category IncludeCleaner if there\u0027s an issue with the CL content.\n* File a bug under go/rosie-bug if there\u0027s an issue with how the CL was managed.\n* For all other issues such as the formatting of the CL, please file a bug under\ngo/clrobot-bug.\n* Revert this CL and not get a CL that cleans up these paths in the future by\nreplying \"BLOCKLIST: \u003cprovide reason\u003e\". This is not reversible! We recommend to\nopt out the respective paths in your CL Robot configuration instead:\ngo/clrobot-opt-out.\n\nThis CL was generated by CL Robot - a tool that cleans up code findings\n(go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/third_party/ecclesia/tricorder.METADATA which is reachable following include_presubmits from //depot/google3/third_party/milotic/METADATA by\nfollowing go/clrobot#how-to-opt-in. Anything wrong with the signup? File a bug\nat go/clrobot-bug.\n\n#clrobot #MissingInclude\n\nTested:\n    Local presubmit tests passed.\nPiperOrigin-RevId: 878804235\nChange-Id: I526885b0841b8e76a220cfe0d04a9e07fbdd9079\n"
    },
    {
      "commit": "e46e68f316450a35c27d63ea043c2819d4f7cacb",
      "tree": "6a63b1f22616414582d77ae695825fa296e6a81e",
      "parents": [
        "4bfc63c518f8ae45ce723e6c5b525b9056d554a0"
      ],
      "author": {
        "name": "vBMC Team",
        "email": "vbmc-dev@google.com",
        "time": "Tue Mar 03 13:30:40 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 03 13:30:58 2026 -0800"
      },
      "message": "[vBMC] Fix SIGSEGV in ssh_actions_plugin_fuzz_test.\n\nThe fuzzer was previously failing with a SIGSEGV because the plugin\nwas not properly initialized, leaving the ssh_client_ pointer as null.\n\nThis CL refactors the fuzzer to use a minimal Proxy environment,\nwhich correctly calls Initialize() and hooks up the MockSshClient.\n\nTested: Verified fix with standalone reproduction test. Fuzzer now passes with ASan.\n\nThis CL was generated by an MCP server owned by the Gemini CLI for Google team.\nSee go/gemini-cli-install for more information.\n\n#coding-mcp\n\nPiperOrigin-RevId: 878101719\nChange-Id: Ib1257a7987f52bac3b33ccf2083135bbabc99f51\n"
    },
    {
      "commit": "4bfc63c518f8ae45ce723e6c5b525b9056d554a0",
      "tree": "b1d8b5ebb8e69d8f7ddf88f3c2d966fdb8c556d2",
      "parents": [
        "a48f031129853d0a99bfd2bdc5f31646a6e8a2ee"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Tue Mar 03 13:14:35 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 03 13:15:01 2026 -0800"
      },
      "message": "Improve JSON parsing safety in CreateEvent.\n\nAdd a check to ensure the input JSON is an object. Use find() and is_string() to safely access JSON members, preventing issues with missing keys or incorrect types.\n\nPiperOrigin-RevId: 878093630\nChange-Id: Ia345cd77822fd63b4562c39e43d66d8570066041\n"
    },
    {
      "commit": "a48f031129853d0a99bfd2bdc5f31646a6e8a2ee",
      "tree": "e08bc5d8d62333f0e6557641e140373d81073d08",
      "parents": [
        "236480dc58f8945be309955175dae75d9bafb860"
      ],
      "author": {
        "name": "vBMC Team",
        "email": "vbmc-dev@google.com",
        "time": "Fri Feb 27 00:14:16 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Feb 27 00:15:43 2026 -0800"
      },
      "message": "[vBMC] Consolidate and expand fuzzing coverage.\n\nThis CL consolidates all FUZZ_TEST functions into dedicated _fuzz_test.cc\nfiles and introduces a new proxy_fuzz_test for URL sanitization.\n\n1. sse_parser_fuzz_test: Fuzzes raw byte streams from untrusted BMCs.\n2. cper_event_fuzz_test: Fuzzes binary hardware error parsing.\n3. resource_authz_fuzz_test: Fuzzes URL path authorization (includes moved tests).\n4. ssh_actions_plugin_fuzz_test: Fuzzes gRPC-driven SSH command generation.\n5. voyager_fqp_fuzz_test: Fuzzes Voyager Field Query Path parsing.\n6. proxy_fuzz_test: Fuzzes URL query parameter sanitization logic.\n\nAlso updated copy.bara.sky to include the new fuzz test files for export.\n\nTested: All 6 fuzzers verified to build and run successfully.\n\nThis CL was generated by an MCP server owned by the Gemini CLI for Google team.\nSee go/gemini-cli-install for more information.\n\n#coding-mcp\n\nPiperOrigin-RevId: 876098337\nChange-Id: I32ed1011fd207d601d5e892d13a5cb87c277b142\n"
    },
    {
      "commit": "236480dc58f8945be309955175dae75d9bafb860",
      "tree": "fc7de589f3167ac8a095c637758ce90d23e5c160",
      "parents": [
        "8ab2d3f58f3935872c8c7289582bf4ad35a66f35"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Tue Feb 24 11:30:27 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Feb 24 11:30:54 2026 -0800"
      },
      "message": "Add shell escaping for arguments in SSH actions.\n\nThis change introduces a ShellEscape function to properly escape arguments provided to SSH actions. This prevents potential shell injection vulnerabilities by ensuring that user-supplied strings are safely quoted when substituted into the command template.\n\nPiperOrigin-RevId: 874713148\nChange-Id: Ifc294df2b86c0764ae9b557717ea41d2fa6d971f\n"
    },
    {
      "commit": "8ab2d3f58f3935872c8c7289582bf4ad35a66f35",
      "tree": "67ad65ebf0e3b6600b7c44e1f3bac83258368b8d",
      "parents": [
        "09431c4156646d9e28030db23733bd75d90254e7"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Tue Feb 24 11:06:53 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Feb 24 11:07:22 2026 -0800"
      },
      "message": "Use nlohmann::json to construct the session login request body.\n\nThis change replaces the use of absl::StrFormat with nlohmann::json for building the JSON payload sent to the Redfish SessionService. This ensures that username and password values are properly escaped, preventing potential JSON injection vulnerabilities. A new test case is added to verify that malicious input in the username field is safely handled.\n\nPiperOrigin-RevId: 874701092\nChange-Id: I77626f1d4884ea7aed261bb81979eb72c73da06b\n"
    },
    {
      "commit": "09431c4156646d9e28030db23733bd75d90254e7",
      "tree": "db14f40d608043b2937d55bd84880657438ec0e0",
      "parents": [
        "fa85eb95e96633db562a5f5f06a7e6c8cb5e84d9"
      ],
      "author": {
        "name": "vBMC Team",
        "email": "vbmc-dev@google.com",
        "time": "Wed Feb 18 02:04:20 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Feb 18 02:04:48 2026 -0800"
      },
      "message": "Fix 1 ClangInliner finding:\n* The use of this symbol has been deprecated and marked for inlining. The function being deprecated is absl::Base64Escape.\n\nSee go/inliner-lsc for more information on why you\u0027ve received this change and why it is important.\n\nThis CL looks good? Just LGTM and Approve it!\nThis CL doesn’t look good? This is what you can do:\n* Revert this CL, by replying \"REVERT: \u003cprovide reason\u003e\"\n* File a bug under go/inliner-bug for category ClangInliner if there\u0027s an issue with the CL content.\n* File a bug under go/rosie-bug if there\u0027s an issue with how the CL was managed.\n* For all other issues such as the formatting of the CL, please file a bug under\ngo/clrobot-bug.\n* Revert this CL and not get a CL that cleans up these paths in the future by\nreplying \"BLOCKLIST: \u003cprovide reason\u003e\". This is not reversible! We recommend to\nopt out the respective paths in your CL Robot configuration instead:\ngo/clrobot-opt-out.\n\nThis CL was generated by CL Robot - a tool that cleans up code findings\n(go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/METADATA by\nfollowing go/clrobot#how-to-opt-in. Anything wrong with the signup? File a bug\nat go/clrobot-bug.\n\n#clrobot #third_party-absl-strings-escaping.h\n\nTested:\n    Local presubmit tests passed.\nPiperOrigin-RevId: 871747583\nChange-Id: I32e8a679af6c96c7f8c20f60e01cd35d7106b42d\n"
    },
    {
      "commit": "fa85eb95e96633db562a5f5f06a7e6c8cb5e84d9",
      "tree": "a4ea09f3c9f8f32fac3ffaec9ce0b90a73298dc4",
      "parents": [
        "ede36fc427d79fb5374688a9a8a2a6a6d7a01ff2"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Tue Feb 17 19:30:54 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Feb 17 19:31:29 2026 -0800"
      },
      "message": "Improve error message for collector ID mismatch.\n\nWhen a PUT request is received with a connection ID different from the one already registered, include the conflicting connection ID in the unauthorized response body.\n\nPiperOrigin-RevId: 871610567\nChange-Id: Ia17bd4d8e38c64b1053acf4755035b18130ace9b\n"
    },
    {
      "commit": "ede36fc427d79fb5374688a9a8a2a6a6d7a01ff2",
      "tree": "855fcfda8642b6326f46332059d162eb751a2780",
      "parents": [
        "e2c9f831956b20487b8b22037441f559dae62269"
      ],
      "author": {
        "name": "Mike Kruskal",
        "email": "mkruskal@google.com",
        "time": "Mon Feb 09 16:32:06 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Feb 09 16:32:40 2026 -0800"
      },
      "message": "Run IncludeCleaner and build_cleaner over //util directories\n\nThis directory is opted out of the google-wide IncludeCleaner cl-robot category due to issues with test coverage.  These cls all have TGP applied to account for that, but otherwise simply run the same tooling.\n\nTested:\n    TAP for global presubmit queue\n    http://test/OCL:866263157:BASE:866961773:1770497539262:8f46e048\nPiperOrigin-RevId: 867826695\nChange-Id: I1486281e11ad67d4705811d33bced82bbec90a5d\n"
    },
    {
      "commit": "e2c9f831956b20487b8b22037441f559dae62269",
      "tree": "a7a40368e5d0f24955f5baff8418e962fa40cead",
      "parents": [
        "04448639391a046bc5cbd32529e2dfc008de3f2d"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Fri Feb 06 13:20:28 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Feb 06 13:20:51 2026 -0800"
      },
      "message": "Prioritize local authorization rules over permission ID rules.\n\nThe authorization policy evaluation now processes rules with `local` permissions before those with `permission_id` within each mapping. This ensures that more specific local checks are performed before falling back to permission ID-based checks.\n\nPiperOrigin-RevId: 866589190\nChange-Id: Ia91f28b9592440016469e7109bab4c9bb14c3c1b\n"
    },
    {
      "commit": "04448639391a046bc5cbd32529e2dfc008de3f2d",
      "tree": "3b4e7f95af6a16a689dd8d0e0a1f6f1fcf8a206d",
      "parents": [
        "d425e98d1fb9b8650a97317ce49742ef21919131"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Fri Feb 06 12:29:04 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Feb 06 12:31:07 2026 -0800"
      },
      "message": "Replace DCHECK with CHECK in test_plugin.cc.\n\nThe methods in test_plugin.cc are not expected to be called. Changing DCHECK to CHECK ensures that the program will terminate in all build modes if these methods are unexpectedly invoked, rather than just in debug builds.\n\nThis is blocking new package release\n\nPiperOrigin-RevId: 866567898\nChange-Id: I5d213838e9f04f95dae17a0d3797886e37835bcd\n"
    },
    {
      "commit": "d425e98d1fb9b8650a97317ce49742ef21919131",
      "tree": "1367778db43c2da4c1428922c420af8494240ff3",
      "parents": [
        "cd192ab191249da5a588311cd024cfea37b067ea"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Fri Feb 06 11:44:52 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Feb 06 11:45:25 2026 -0800"
      },
      "message": "Migrate Milotic proxy and vbmc to absl::Clock.\n\nFollowing the removal of clock.cc in cl/862160171, this change replaces util::Clock with the absl::Clock interface across Milotic and vbmc platforms.\n\nKey changes:\n\nRefactored Clock Injection: Switched from util::Clock* pointers to absl::Clock\u0026 references in constructors and member variables\nUpdated Dependencies: Replaced //util/time:clock with //third_party/absl/time:clock_interface and :simulated_clock in BUILD files.\nEnvironment Compatibility: Added temporary local copies of clock_interface files to support the gBMC environment until its absl version is updated.\n\nPiperOrigin-RevId: 866550337\nChange-Id: Idc4167bbf50e2dd70f91c108b8d99d412feb339c\n"
    },
    {
      "commit": "cd192ab191249da5a588311cd024cfea37b067ea",
      "tree": "97fa183a35f0f067e2f73d216fa30d3251b2fdf5",
      "parents": [
        "a565562735b8270f5f3ec86f15ee9f73d87cf8bc"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Thu Jan 29 12:35:29 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jan 29 12:36:00 2026 -0800"
      },
      "message": "Use the inliner on util::Clock and util::SimulatedClock\n\nPiperOrigin-RevId: 862852287\nChange-Id: Ice8850c3f654d0be42d1ad2fb6f23b87c28be518\n"
    },
    {
      "commit": "a565562735b8270f5f3ec86f15ee9f73d87cf8bc",
      "tree": "76162fec324f698b4c3e4c6f6cb27819762fa889",
      "parents": [
        "da8f57c09056e0d33e5074f636a73ea7ea84742b"
      ],
      "author": {
        "name": "Derek Mauro",
        "email": "dmauro@google.com",
        "time": "Wed Jan 28 03:55:22 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jan 28 03:55:58 2026 -0800"
      },
      "message": "Move util::Clock and util::SimulatedClock to //third_party/absl as\nabsl::Clock and absl::SimulatedClock.\n\nThe new file //third_party/absl/time/clock_interface.h was used\ninstead of clock.h because //third_party/absl/synchronization.h\nalready depends on clock.h, and since absl::Clock depends on\nabsl::Mutex, this would introduce a circular dependency.\n\nutil/time/clock.h is updated to provide using declarations maintaining\nbackward compatibility for existing C++ users.\n\nThe non-null pointer-returning RealClock() is deprecated in favor\nof a reference returning GetRealClock().\n\nThe Python bindings have also been refactored:\n  * New CLIF wrappers are added in third_party/absl/time/python for the new\n    Abseil classes.\n  * util/time/python:clock is converted into a pure Python forwarding module\n    that re-exports the absl classes, preserving compatibility for Python\n    consumers.\n  * Existing CLIF consumers of //util/time/python:clock (via clif_deps) have\n    been migrated to depend directly on\n    //third_party/absl/time/python:clock_interface and\n    //third_party/absl/time/python:simulated_clock, as the forwarding layer\n    does not support CLIF-level dependency. As far as I can tell there is\n    no way to do this without doing it in a single CL.\n\nThis change does not export the code to GitHub. A follow-up will do that\nafter OSS testing.\n\nBEGIN_PUBLIC\nInternal change\nEND_PUBLIC\n\nTested:\n  TGP: http://test/OCL:856753097:BASE:861154164:1769435594442:dffd0c65\n\ngqm-relnote: n/a\nPiperOrigin-RevId: 862160171\nChange-Id: Id578a8ad47c1a59b83701c2083a8b01ed3ed8282\n"
    },
    {
      "commit": "da8f57c09056e0d33e5074f636a73ea7ea84742b",
      "tree": "e9ca1722f5664f1ab8303659420c7b3a44f104fb",
      "parents": [
        "4d10f262abfbc49d12943bddc75ec2c604c9bfa0"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Tue Jan 27 17:08:56 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 27 17:09:21 2026 -0800"
      },
      "message": "Add more test cases for CPER event parsing.\n\nThis change adds test cases to cover various error scenarios in `CperEvent::ParseRedfishEvent` and `CperEvent::ParseReplayEvents`, including missing or malformed fields like OriginOfCondition and CPER OEM data.\n\nPiperOrigin-RevId: 861947757\nChange-Id: Ia7f29ef8179f0f2d9eab8402d3330c150c1e5f4f\n"
    },
    {
      "commit": "4d10f262abfbc49d12943bddc75ec2c604c9bfa0",
      "tree": "bc0f46396fb645b78794b3f7cbabb5c68f5c08e9",
      "parents": [
        "d439b2e4c7e2759b8cb701b676c9b7f272a66a70"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Wed Jan 21 12:53:37 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jan 21 12:53:56 2026 -0800"
      },
      "message": "Add more unit tests to event_test.cc for better coverage.\n\nThis change adds tests for:\n-   EventSeverityToString and StringToEventSeverity conversions.\n-   Event::ToProto for both Redfish and CPER events.\n-   Event::is_cper_event and Event::cper_event_data accessors.\n-   Error handling in Event::ParseReplayEvents for invalid JSON.\n-   Error handling in FindEventMessageId for missing, non-string, or malformed MessageId.\n-   Error handling in FindReasonId when OEM Faults is not an array.\n-   Coverage for all EventSeverity enum values when looking up in the registry.\n-   Error handling in FindReasonIdMessageArgs for key mismatches and non-array MessageArgs.\n\nPiperOrigin-RevId: 859224617\nChange-Id: Ib9faa43b47687bb3400c9f31f60a9cde70725857\n"
    },
    {
      "commit": "d439b2e4c7e2759b8cb701b676c9b7f272a66a70",
      "tree": "c6c4b540ef126432df7b9233831773dbec567d2f",
      "parents": [
        "5e281c6070bbb59bc68c25f2f0e1873316a59dd5"
      ],
      "author": {
        "name": "vBMC Team",
        "email": "vbmc-dev@google.com",
        "time": "Wed Jan 21 01:03:06 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jan 21 01:05:50 2026 -0800"
      },
      "message": "Fix 1 IncludeCleaner finding:\n* Used header \"third_party/milotic/internal/cc/proxy/proxy_config.proto.h\" is not included directly\n\n ⚠️ Did submitting this CL break you?\n Click the \"Roll back\" button above, write a description of the problem (ideally with supporting logs/dashboards/screenshots) and a human global approver will be assigned to review the generated rollback CL.\n* See go/include-cleaner for more information about the tool that generated this change.\n* The global approvers for this change category are currently piloting the go/reviewbot tool so you may see global-review-bot-composite as the approver. Please contact code-health-team@google.com if you have any questions/concerns about the approval process.\n\nSee go/include-cleaner-lsc-approval for more information on why you\u0027ve received this change and why it is important.\n\nThis CL looks good? Just LGTM and Approve it!\nThis CL doesn’t look good? This is what you can do:\n* Revert this CL, by replying \"REVERT: \u003cprovide reason\u003e\"\n* File a bug under go/include-cleaner-bug for category IncludeCleaner if there\u0027s an issue with the CL content.\n* File a bug under go/rosie-bug if there\u0027s an issue with how the CL was managed.\n* For all other issues such as the formatting of the CL, please file a bug under\ngo/clrobot-bug.\n* Revert this CL and not get a CL that cleans up these paths in the future by\nreplying \"BLOCKLIST: \u003cprovide reason\u003e\". This is not reversible! We recommend to\nopt out the respective paths in your CL Robot configuration instead:\ngo/clrobot-opt-out.\n\nThis CL was generated by CL Robot - a tool that cleans up code findings\n(go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/third_party/ecclesia/tricorder.METADATA which is reachable following include_presubmits from //depot/google3/third_party/milotic/METADATA by\nfollowing go/clrobot#how-to-opt-in. Anything wrong with the signup? File a bug\nat go/clrobot-bug.\n\n#clrobot #MissingInclude\n\nTested:\n    Local presubmit tests passed.\nPiperOrigin-RevId: 858965904\nChange-Id: I33dc7d7a42148c664c4afee219cfc3ba3e893c0e\n"
    },
    {
      "commit": "5e281c6070bbb59bc68c25f2f0e1873316a59dd5",
      "tree": "cd2b16c28e0ff64e514df0006b8edc31774e967f",
      "parents": [
        "3284fddae896eddb13ee81c254ffe84bd5b1c3da"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Tue Jan 20 16:35:49 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 20 16:36:15 2026 -0800"
      },
      "message": "Add more comprehensive tests for RemoteCollectorStorageManager.\n\nThis change adds tests to verify the blocking behavior of RetrieveProcessedEvents using a separate thread. It also includes failure tests for methods like SaveEvent, SaveCperEvent, SaveLogs, ArchiveProcessedEvents, and SendHeartbeat when no event handler has been set. Additionally, tests for successfully saving CPER events and sending heartbeats are added.\n\nPiperOrigin-RevId: 858806341\nChange-Id: I352a3054416c9a559d41d0df2f2648b738b59877\n"
    },
    {
      "commit": "3284fddae896eddb13ee81c254ffe84bd5b1c3da",
      "tree": "8d476ba3b7dbe18f34032d7de1600aef5c3285dd",
      "parents": [
        "65853b0996372c37ed75b7bf530fa10e7926bc04"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Tue Jan 13 17:01:23 2026 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 13 17:01:52 2026 -0800"
      },
      "message": "Add more unit tests for various proxy components.\n\nThe changes include new tests for:\n-   FakeAuthContext methods like IsPeerAuthenticated and GetPeerIdentityPropertyName.\n-   FakeRedfishPlugin\u0027s handling of requests and subscriptions.\n-   RedfishSessionAuth when the Location header is missing.\n-   RemoteCredentialsFileManager\u0027s HasSources and handling of write failures.\n-   Unimplemented credential fetcher/reader/writer functions.\n-   MockRedfishPlugin and MockEventHandler to verify all methods are mockable.\n-   MockSshClient, MockExecutionCallbacks, and MockExecutionContext to verify mock functionality.\n-   TestPlugin and TestDummyPlugin behaviors.\n\nPiperOrigin-RevId: 855942020\nChange-Id: Ia0df4bfc86e593b39654b19d3bdb2c20d718ae93\n"
    },
    {
      "commit": "65853b0996372c37ed75b7bf530fa10e7926bc04",
      "tree": "31283f92d0a3527b47ccb171faad88ed5a29d394",
      "parents": [
        "75fd18b47025b0ca16e6eda45b4a92e21a1019e3"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Wed Dec 10 14:29:24 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Dec 10 14:29:51 2025 -0800"
      },
      "message": "Add thread start retry logic and improve logging in Timer.\n\nThis change introduces a retry mechanism when starting the internal thread in the Timer class to handle potential resource exhaustion. It also enhances logging by including the current timer state in error and informational messages, and adds a helper function to convert TimerState enums to strings.\n\nPiperOrigin-RevId: 842881893\nChange-Id: I36bbda5b063548a75ffb06c8bd902b5981562711\n"
    },
    {
      "commit": "75fd18b47025b0ca16e6eda45b4a92e21a1019e3",
      "tree": "0f5fc4a0d97b20dd6d323e44c0a9d62b5bc38af5",
      "parents": [
        "ea6ae5b653a1bdd7cdb25e0b374026216b08cdf4"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Thu Sep 25 12:07:45 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 25 12:08:18 2025 -0700"
      },
      "message": "Wait for gRPC server to fully shut down in Proxy destructor.\n\nAdding `server_-\u003eWait()` after `server_-\u003eShutdown()` ensures that the gRPC server has completed its shutdown process and released all resources before the `Proxy` object is destroyed.\n\nRef: https://coroner.corp.google.com/#/crash/80b60a03-0000-2a67-96ae-14223bc4243e\nPiperOrigin-RevId: 811447385\nChange-Id: Ibb889f8f8db2e8bb1ae5e219c8a9e8101d00e742\n"
    },
    {
      "commit": "ea6ae5b653a1bdd7cdb25e0b374026216b08cdf4",
      "tree": "3ebf53fb86d9ff0061902b71038f95e0879caf8b",
      "parents": [
        "281fecaf4f5a26a077ee210aa4f12615a44ae54b"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Wed Sep 10 14:35:53 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 10 14:36:29 2025 -0700"
      },
      "message": "#vbmc: Support Emergent health state\n\nPiperOrigin-RevId: 805518808\nChange-Id: I0973b2de2997698a5e062eeafaa28d1bd951ba89\n"
    },
    {
      "commit": "281fecaf4f5a26a077ee210aa4f12615a44ae54b",
      "tree": "143f17fc13548223a17072d158c5fa579ba6fbe8",
      "parents": [
        "ba3abb1d17cc65e53b05402175015d714f5aa8d5"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Thu Sep 04 11:31:04 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 04 11:31:34 2025 -0700"
      },
      "message": "#vbmc - Add metrics for SSH actions\n\nAlso fixes a timing dependency in the unit tests that became more likely to cause flakiness after this change.\n\nPiperOrigin-RevId: 803107800\nChange-Id: I55564cb580cce85dbab7bf85fb94c8061327cb01\n"
    },
    {
      "commit": "ba3abb1d17cc65e53b05402175015d714f5aa8d5",
      "tree": "e427483565167f4c3d40667d813fed521c080298",
      "parents": [
        "d37f991b4dd68f8656946e325f4f0a7d75cc4f40"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Wed Sep 03 10:54:10 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 03 10:54:47 2025 -0700"
      },
      "message": "#vbmc - Add metrics for SSH connect latency\n\nPiperOrigin-RevId: 802621301\nChange-Id: I9600c09c7f0a2f9f575344a39074bb53b5eb4359\n"
    },
    {
      "commit": "d37f991b4dd68f8656946e325f4f0a7d75cc4f40",
      "tree": "6e6cbf5d42b88d83266216d08283b4b3263728b3",
      "parents": [
        "d968414c28e811c6b4fd625f682b6654ed1686fc"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Wed Sep 03 10:21:12 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 03 10:21:51 2025 -0700"
      },
      "message": "#vbmc: Replace the deprecated variant of the MutexLock constructor\n\nPiperOrigin-RevId: 802607380\nChange-Id: I950cb972880da31cf244ccb1b782aa99e0075a92\n"
    },
    {
      "commit": "d968414c28e811c6b4fd625f682b6654ed1686fc",
      "tree": "628f73c1041ede255fafd8f9a1a0bca6425411e1",
      "parents": [
        "e9255f1dea18a9f7fd8f7e3e2eba15d08482683b"
      ],
      "author": {
        "name": "vBMC Team",
        "email": "vbmc-dev@google.com",
        "time": "Wed Sep 03 04:29:28 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 03 04:30:09 2025 -0700"
      },
      "message": "Fix 11 ClangInliner findings:\n* The use of this symbol has been deprecated and marked for inlining. The function being deprecated is absl::MutexLock::MutexLock. (11 times)\n\nSee go/inliner-lsc for more information on why you\u0027ve received this change and why it is important.\n\nThis CL looks good? Just LGTM and Approve it!\nThis CL doesn’t look good? This is what you can do:\n* Revert this CL, by replying \"REVERT: \u003cprovide reason\u003e\"\n* File a bug under go/inliner-bug for category ClangInliner if there\u0027s an issue with the CL content.\n* File a bug under go/rosie-bug if there\u0027s an issue with how the CL was managed.\n* For all other issues such as the formatting of the CL, please file a bug under\ngo/clrobot-bug.\n* Revert this CL and not get a CL that cleans up these paths in the future by\nreplying \"BLOCKLIST: \u003cprovide reason\u003e\". This is not reversible! We recommend to\nopt out the respective paths in your CL Robot configuration instead:\ngo/clrobot-opt-out.\n\nThis CL was generated by CL Robot - a tool that cleans up code findings\n(go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/METADATA by\nfollowing go/clrobot#how-to-opt-in. Anything wrong with the signup? File a bug\nat go/clrobot-bug.\n\n#clrobot #third_party-absl-synchronization-mutex.h\n\nTested:\n    Local presubmit tests passed.\nPiperOrigin-RevId: 802497545\nChange-Id: Id5ec4f699a0152330c0322ddd28ae585e5fa516f\n"
    },
    {
      "commit": "e9255f1dea18a9f7fd8f7e3e2eba15d08482683b",
      "tree": "a930a90b4e326608b898f1833fdf838b1af3e358",
      "parents": [
        "f2b5b34af386727c0913e6cb62e93acc39b10902"
      ],
      "author": {
        "name": "vBMC Team",
        "email": "vbmc-dev@google.com",
        "time": "Wed Aug 13 02:05:31 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Aug 13 02:06:02 2025 -0700"
      },
      "message": "Fix 53 ClangInliner findings:\n* The use of this symbol has been deprecated and marked for inlining. The function being deprecated is absl::MutexLock::MutexLock. (24 times)\n* The use of this symbol has been deprecated and marked for inlining. The function being deprecated is absl::Mutex::Unlock. (12 times)\n* The use of this symbol has been deprecated and marked for inlining. The function being deprecated is absl::Mutex::Lock. (10 times)\n* The use of this symbol has been deprecated and marked for inlining. The function being deprecated is absl::ReaderMutexLock::ReaderMutexLock. (4 times)\n* The use of this symbol has been deprecated and marked for inlining. The function being deprecated is absl::WriterMutexLock::WriterMutexLock.\n* The use of this symbol has been deprecated and marked for inlining. The function being deprecated is absl::Mutex::ReaderLock.\n* The use of this symbol has been deprecated and marked for inlining. The function being deprecated is absl::Mutex::ReaderUnlock.\n\nSee go/inliner-lsc for more information on why you\u0027ve received this change and why it is important.\n\nThis CL looks good? Just LGTM and Approve it!\nThis CL doesn’t look good? This is what you can do:\n* Revert this CL, by replying \"REVERT: \u003cprovide reason\u003e\"\n* File a bug under go/inliner-bug for category ClangInliner if there\u0027s an issue with the CL content.\n* File a bug under go/rosie-bug if there\u0027s an issue with how the CL was managed.\n* For all other issues such as the formatting of the CL, please file a bug under\ngo/clrobot-bug.\n* Revert this CL and not get a CL that cleans up these paths in the future by\nreplying \"BLOCKLIST: \u003cprovide reason\u003e\". This is not reversible! We recommend to\nopt out the respective paths in your CL Robot configuration instead:\ngo/clrobot-opt-out.\n\nThis CL was generated by CL Robot - a tool that cleans up code findings\n(go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/METADATA by\nfollowing go/clrobot#how-to-opt-in. Anything wrong with the signup? File a bug\nat go/clrobot-bug.\n\n#clrobot #third_party-absl-synchronization-mutex.h\n\nTested:\n    Local presubmit tests passed.\nPiperOrigin-RevId: 794471533\nChange-Id: Ieba49b2557e2e915d6566f659ed2b30d358d0db6\n"
    },
    {
      "commit": "f2b5b34af386727c0913e6cb62e93acc39b10902",
      "tree": "bdc662518e3a7854ec0ad604ad48126d0889f192",
      "parents": [
        "a5e8724fa6c07c32b690f54dc8cb93f34f979eed"
      ],
      "author": {
        "name": "vBMC Team",
        "email": "vbmc-dev@google.com",
        "time": "Mon Jul 14 23:08:57 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 14 23:09:41 2025 -0700"
      },
      "message": "Fix 1 IncludeCleaner finding:\n* Used header \"third_party/milotic/internal/cc/proxy/proxy_config.proto.h\" is not included directly\n\n ⚠️ Problems with this CL?\n Click the \"Roll back\" button above, write a description of the problem (ideally with supporting logs/dashboards/screenshots) and a human global approver will be assigned to review the generated rollback CL.\n* See go/include-cleaner for more information about the tool that generated this change.\n* The global approvers for this change category are currently piloting the go/reviewbot tool so you may see global-review-bot-composite as the approver. Please contact code-health-team@google.com if you have any questions/concerns about the approval process.\n\nSee go/include-cleaner-lsc-approval for more information on why you\u0027ve received this change and why it is important.\n\nThis CL looks good? Just LGTM and Approve it!\nThis CL doesn’t look good? This is what you can do:\n* Revert this CL, by replying \"REVERT: \u003cprovide reason\u003e\"\n* File a bug under go/include-cleaner-bug for category IncludeCleaner if there\u0027s an issue with the CL content.\n* File a bug under go/rosie-bug if there\u0027s an issue with how the CL was managed.\n* For all other issues such as the formatting of the CL, please file a bug under\ngo/clrobot-bug.\n* Revert this CL and not get a CL that cleans up these paths in the future by\nreplying \"BLOCKLIST: \u003cprovide reason\u003e\". This is not reversible! We recommend to\nopt out the respective paths in your CL Robot configuration instead:\ngo/clrobot-opt-out.\n\nThis CL was generated by CL Robot - a tool that cleans up code findings\n(go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/third_party/ecclesia/tricorder.METADATA which is reachable following include_presubmits from //depot/google3/third_party/milotic/METADATA by\nfollowing go/clrobot#how-to-opt-in. Anything wrong with the signup? File a bug\nat go/clrobot-bug.\n\n#clrobot #MissingInclude\n\nTested:\n    Local presubmit tests passed.\nPiperOrigin-RevId: 783192597\nChange-Id: I8691fa15d493d8f9cdccfd7300ec0a8d01c6665b\n"
    },
    {
      "commit": "a5e8724fa6c07c32b690f54dc8cb93f34f979eed",
      "tree": "b9a97e18a66c1ee7e2a469773301d90f13671fcc",
      "parents": [
        "ff7e98755a749323816c5806bd0b2e1562046dcf"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Thu Jul 10 15:14:28 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 10 15:15:03 2025 -0700"
      },
      "message": "#vbmc: Use class for Host, ProxyRequest and ProxyResponse\n\nThis helps in using different hosts for both SSH and gRPC requests\n\nPiperOrigin-RevId: 781701194\nChange-Id: If224040e17194e3362f9c9482952f232d0527f86\n"
    },
    {
      "commit": "ff7e98755a749323816c5806bd0b2e1562046dcf",
      "tree": "40f9c9882c48d6b3b56d6aa872fe2568307eb283",
      "parents": [
        "da1529794f346bd85c1a38950b9f8b37b8fbf4f3"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Thu Jul 10 13:14:43 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 10 13:15:17 2025 -0700"
      },
      "message": "#vbmc: Add config to read target hostname from Offline NEA\n\nPiperOrigin-RevId: 781654009\nChange-Id: Ia5c23f8ce192f013818a518a6b0ac703b7879912\n"
    },
    {
      "commit": "da1529794f346bd85c1a38950b9f8b37b8fbf4f3",
      "tree": "355f379e936b39455d4e20da83928a035c79261c",
      "parents": [
        "089564f57a49cdc4fc0c49c3bf06f872ae9bd8c0"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Mon Jun 23 16:08:44 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jun 23 16:09:16 2025 -0700"
      },
      "message": "#vbmc: Read and set fallback target address in proxy and ssh options\n\nUsage will be added in subsequent CLs\n\nPiperOrigin-RevId: 774962962\nChange-Id: I4ff86bb646bccde639136f3b8ff70aa68ec2dd00\n"
    },
    {
      "commit": "089564f57a49cdc4fc0c49c3bf06f872ae9bd8c0",
      "tree": "e3d10e171329ef57dd8db3d7cea43825e8a88db0",
      "parents": [
        "a37246e490c030852d97b0c9c60278bddb8879aa"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Mon Jun 23 15:43:50 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jun 23 15:44:19 2025 -0700"
      },
      "message": "#vbmc: Add fallback targets in proto config\n\nThis is added to support BMCNet address as fallback\n\nPiperOrigin-RevId: 774954532\nChange-Id: I2546606a83ea59390aacfdfa20487892d3e42b01\n"
    },
    {
      "commit": "a37246e490c030852d97b0c9c60278bddb8879aa",
      "tree": "828ea773d3c2adeed2124d80e85bd4de8e9604ca",
      "parents": [
        "ddb9ec72218e205aa74b262402e39b41a3a261d2"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Wed Jun 04 16:29:56 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jun 04 16:30:31 2025 -0700"
      },
      "message": "#vbmc: Update GetOrigin function to support both formats for OriginOfCondition.\n\nIn older HMC version OriginOfCondition is present in [Links][OriginOfCondition][@odata.id], while in newer version its present in [OriginOfCondition][@odata.id]\n\nThis changes allow both format to be read by vBMC and update the error counters for the correct component.\n\nPiperOrigin-RevId: 767331118\nChange-Id: Icadef998063ce039b659e0106a0a4d7e67da7d49\n"
    },
    {
      "commit": "ddb9ec72218e205aa74b262402e39b41a3a261d2",
      "tree": "5789ee35b17e2cbb7b978e1e4d933146d1b94b3a",
      "parents": [
        "96d29a01cec52e4d2ae4c366938e20b6cf00d461"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Fri May 23 13:04:26 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 23 13:05:12 2025 -0700"
      },
      "message": "#vbmc: Parse and send CPER data for all events\n\nCurrently we were only parsing and sending events to collector for !OK events\n\nMemory and CPU error counters are still only updated for Critical events.\n\nPiperOrigin-RevId: 762538918\nChange-Id: I34d8b59d03c18f96468b2d4be95d20084f7941bf\n"
    },
    {
      "commit": "96d29a01cec52e4d2ae4c366938e20b6cf00d461",
      "tree": "66faf1abdec770ab47f724c16aa89efe24110e4a",
      "parents": [
        "ccba34143616b9fa792052bcb920af932c1c503f"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Thu May 22 14:41:47 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 22 14:42:26 2025 -0700"
      },
      "message": "#vbmc: Use Redfish V1 Stub in grpc passthrough if OAuth token is present\n\nReference https://source.corp.google.com/piper///depot/google3/platforms/milotic/tool/grpc_dynamic_raw.cc;l\u003d151\n\nPiperOrigin-RevId: 762131787\nChange-Id: Ie07b312893b68e9c4e95b728e898b3fa85f9f6fe\n"
    },
    {
      "commit": "ccba34143616b9fa792052bcb920af932c1c503f",
      "tree": "22774dae7d3d87d89562d4e86f2528009f63479a",
      "parents": [
        "0564287253b481b1b318d59ececba72eb4b56976"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Tue May 20 13:18:41 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 20 13:19:14 2025 -0700"
      },
      "message": "#vbmc: Add port number to HiscToken\n\nPiperOrigin-RevId: 761204149\nChange-Id: Iee00e5485b3cc7475aa89462ba6da5afaf3b4640\n"
    },
    {
      "commit": "0564287253b481b1b318d59ececba72eb4b56976",
      "tree": "990ad52fd9161c7a5551170763207bba5d0613af",
      "parents": [
        "ccfadce4b796e0e9401ae366ec9503f39244f311"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Tue May 20 11:08:22 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 20 11:09:05 2025 -0700"
      },
      "message": "Add name to proxy\n\nThis is mostly useful when we need to determine which proxy was the source of a log entry.\n\nPiperOrigin-RevId: 761154272\nChange-Id: I2e349bb6f2c0a1fc91355474f8fb23f001815ca5\n"
    },
    {
      "commit": "ccfadce4b796e0e9401ae366ec9503f39244f311",
      "tree": "5fae63b112f186fea65809cc7e5a6b0f0992c36d",
      "parents": [
        "e66ccbec8e17a4e7ee66eed55e4981952c96bff8"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Mon May 19 14:52:23 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 19 14:52:55 2025 -0700"
      },
      "message": "#vbmc: Add new plugin config for Redfish OAuth plugin\n\nThis plugin will intercept and add OAuth token to the request before being sent by the passthrough plugin\n\nPiperOrigin-RevId: 760780271\nChange-Id: I2d9123589f471cfc7876f14c26784cc58c0221f8\n"
    },
    {
      "commit": "e66ccbec8e17a4e7ee66eed55e4981952c96bff8",
      "tree": "5c2ea9a56fc03e57cd22688de1af23d6f0e12f54",
      "parents": [
        "27c1866520c80313aadee6be93e240429c30c408"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Mon May 19 14:36:23 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 19 14:36:56 2025 -0700"
      },
      "message": "Remove absl nullability macros when copying into gBMC.\n\nReference: cl/741341364, cl/746124354\nPiperOrigin-RevId: 760774356\nChange-Id: Ifed9b731a78fe3bd3c2d6e5192738a637203370f\n"
    },
    {
      "commit": "27c1866520c80313aadee6be93e240429c30c408",
      "tree": "099b575515d0f118baaea63ae029316eef205a12",
      "parents": [
        "5eed2866b9416e59449f9529ea4f49c4e379a963"
      ],
      "author": {
        "name": "Yassin Ezbakhe",
        "email": "yasez@google.com",
        "time": "Mon Apr 14 01:54:51 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Apr 14 01:55:20 2025 -0700"
      },
      "message": "`SimulatedClock`: Add example code using `testing::testvalue` to replace `WaitUntilThreadsAsleep`.\n\nPiperOrigin-RevId: 747310159\nChange-Id: I8f7ec2ebb0bac7fab7a3157e38ec6cbe84f33889\n"
    },
    {
      "commit": "5eed2866b9416e59449f9529ea4f49c4e379a963",
      "tree": "a16ee34c01bd1be7969fb03d6c34e7a9fdc8dd7b",
      "parents": [
        "e7f3143b40ac29a1d019c3576d4c760f4e70def9"
      ],
      "author": {
        "name": "vBMC Team",
        "email": "vbmc-dev@google.com",
        "time": "Thu Apr 10 12:10:40 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 10 12:11:18 2025 -0700"
      },
      "message": "Migrate template alias nullability annotations to macros.\n\nabsl::Nonnull -\u003e absl_nonnull, absl::Nullable -\u003e absl_nullable, and absl::NullabilityUnknown -\u003e absl_nullability_unknown. The new macros are positioned as a qualifier on the affected type, similar to const, rather than as a templated type wrapping the affected type.\n\nSee go/cxx-nullability-syntax-change and go/nullability-annotation-alias-to-macro-migration for more details.\n\nTested:\n    Local presubmit tests passed.\nPiperOrigin-RevId: 746124354\nChange-Id: Ifd8e4b75b42dba251f7d537fe160a03d0332b705\n"
    },
    {
      "commit": "e7f3143b40ac29a1d019c3576d4c760f4e70def9",
      "tree": "9b738e6f1f146578312abe79f26a8c0d471834ab",
      "parents": [
        "1cd5e48da717d1731004fe3877d834e6fabdf7b9"
      ],
      "author": {
        "name": "vBMC Team",
        "email": "vbmc-dev@google.com",
        "time": "Thu Apr 03 00:17:58 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 03 00:18:44 2025 -0700"
      },
      "message": "Fix 1 IncludeCleaner finding:\n* Used header \"third_party/milotic/internal/cc/proxy/proxy_config.proto.h\" is not included directly\n\n ⚠️ Problems with this CL?\n Click the \"Roll back\" button above, write a description of the problem (ideally with supporting logs/dashboards/screenshots) and a human global approver will be assigned to review the generated rollback CL.\n* See go/include-cleaner for more information about the tool that generated this change.\n* The global approvers for this change category are currently piloting the go/reviewbot tool so you may see global-review-bot-composite as the approver. Please contact code-health-team@google.com if you have any questions/concerns about the approval process.\n\nSee go/include-cleaner-lsc-approval for more information on why you\u0027ve received this change and why it is important.\n\nThis CL looks good? Just LGTM and Approve it!\nThis CL doesn’t look good? This is what you can do:\n* Revert this CL, by replying \"REVERT: \u003cprovide reason\u003e\"\n* File a bug under go/include-cleaner-bug for category IncludeCleaner if there\u0027s an issue with the CL content.\n* File a bug under go/rosie-bug if there\u0027s an issue with how the CL was managed.\n* For all other issues such as the formatting of the CL, please file a bug under\ngo/clrobot-bug.\n* Revert this CL and not get a CL that cleans up these paths in the future by\nreplying \"BLOCKLIST: \u003cprovide reason\u003e\". This is not reversible! We recommend to\nopt out the respective paths in your CL Robot configuration instead:\ngo/clrobot-opt-out.\n\nThis CL was generated by CL Robot - a tool that cleans up code findings\n(go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/third_party/ecclesia/tricorder.METADATA which is reachable following include_presubmits from //depot/google3/third_party/milotic/METADATA by\nfollowing go/clrobot#how-to-opt-in. Anything wrong with the signup? File a bug\nat go/clrobot-bug.\n\n#codehealth\n\nTested:\n    Local presubmit tests passed.\nPiperOrigin-RevId: 743439559\nChange-Id: I9fa758b549980284177e1bd87adc35bdb04c118a\n"
    },
    {
      "commit": "1cd5e48da717d1731004fe3877d834e6fabdf7b9",
      "tree": "4d9c4b5ed9ee925f30c393108f84583ee7c08583",
      "parents": [
        "bdc270c1f8e8fcc07bb120af91271fed7d3a44fc"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Thu Mar 27 13:19:13 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 27 13:19:47 2025 -0700"
      },
      "message": "Write an empty object instead of null if there are no counter values\n\nPiperOrigin-RevId: 741259238\nChange-Id: I410ad0b7c387c08b8b929ee2175d06d8b521dbc8\n"
    },
    {
      "commit": "bdc270c1f8e8fcc07bb120af91271fed7d3a44fc",
      "tree": "a134c4dbafc65dad11f28b8f6d5e21670e504db7",
      "parents": [
        "83376dbfcbb67eb4e85f673fba9f5d5b2125baa8"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Thu Mar 27 09:34:48 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 27 09:35:28 2025 -0700"
      },
      "message": "#vbmc: Handle replay events from Collector for Stellaris\n\nUpdate check for Cpu errors in CPER, if OriginOfCondition is present we assume that CPU error is present\n\nPiperOrigin-RevId: 741182900\nChange-Id: I08d93431e9095337ca48715653e3da47b4babe27\n"
    },
    {
      "commit": "83376dbfcbb67eb4e85f673fba9f5d5b2125baa8",
      "tree": "99a4004a187b05182b2db88996bec6e3bfb96eed",
      "parents": [
        "69acf9b6091544f36d9e5b5f543ad92147e876ef"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Wed Mar 26 17:48:55 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 26 17:49:25 2025 -0700"
      },
      "message": "Add APIs for ForceKill and ResetErrorCounters in Stellaris CPER plugin\n\nPiperOrigin-RevId: 740962150\nChange-Id: I8f6d642be1ac7bb226ad84362544997a7811d510\n"
    },
    {
      "commit": "69acf9b6091544f36d9e5b5f543ad92147e876ef",
      "tree": "e04c090f80bfca70be7ebd71a0b3331e8c59507a",
      "parents": [
        "5adb3ea5e0b569db22e9ee7eb9232b06500edd3f"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Wed Mar 26 17:03:35 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 26 17:04:05 2025 -0700"
      },
      "message": "#vbmc - Save counters to local file\n\nSave counters to a local file as detailed in go/grace-error-count.\n\nPiperOrigin-RevId: 740951792\nChange-Id: I83effe7b797898e5f98a5a1b4efcbcd5a5072baf\n"
    },
    {
      "commit": "5adb3ea5e0b569db22e9ee7eb9232b06500edd3f",
      "tree": "1807e6d133cde30713c6b2232eac7ed9d76e8acc",
      "parents": [
        "f1c6815659dd3cb1ec2d23dac7732d494fb92538"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Wed Mar 26 15:38:16 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 26 15:38:50 2025 -0700"
      },
      "message": "#vbmc: Map memory OriginOfCondition to Memory resource\n\nPiperOrigin-RevId: 740927149\nChange-Id: Ida68d3a6635ad48a67b0c83c77463ea84f914ac6\n"
    },
    {
      "commit": "f1c6815659dd3cb1ec2d23dac7732d494fb92538",
      "tree": "2fff73588c00401a85abfa14a8defd6ce4ce46cb",
      "parents": [
        "8b0af97ad7a4440d71ba0acde5481d0b7777acf6"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Wed Mar 26 14:28:33 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 26 14:28:58 2025 -0700"
      },
      "message": "#vbmc - Make sleeps interruptible in EventManager\n\nWhen sleeping in EventManager threads, it is possible that the thread is stopped because of a restart or shutdown. While a sleep will eventually wake up in prod, unit tests that use a simulated clock may result in the sleep never returning because the clock was not advanced sufficiently. This change makes the sleep get interrupted if the state changes to stop.\n\nPiperOrigin-RevId: 740904247\nChange-Id: I38ee7f2c151beefd7980b0bb5fe8018428e03ba9\n"
    },
    {
      "commit": "8b0af97ad7a4440d71ba0acde5481d0b7777acf6",
      "tree": "9ee741c0082b96b11eefc2f8014d4d60a196ce1a",
      "parents": [
        "3c26ebd7002a0bee21b8ca7239433de29b9a4819"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Mon Mar 24 18:07:02 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 24 18:07:35 2025 -0700"
      },
      "message": "#vbmc Add async version of GetRedfishResource API\n\nPiperOrigin-RevId: 740138243\nChange-Id: Ie499fa7c7ce77cb8d4787e640450248fc49b7b68\n"
    },
    {
      "commit": "3c26ebd7002a0bee21b8ca7239433de29b9a4819",
      "tree": "f7bbc31022d499828439d977ae698538fb6c72b2",
      "parents": [
        "6914a43790e2d383e7b1a956c9279eb2f9a3b819"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Mon Mar 24 14:43:02 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 24 14:43:42 2025 -0700"
      },
      "message": "Update vbmc socket paths for multi CN platforms\n\n/var/run/vbmc/compute-node-0-rpc.socket --\u003e /var/run/vbmc/compute-node-0/rpc.socket\n/var/run/vbmc/compute-node-1-rpc.socket --\u003e /var/run/vbmc/compute-node-1/rpc.socket\n\nUsage update is added in the child CL\n\nPiperOrigin-RevId: 740077755\nChange-Id: Ia1d8c448a045264b5f786a47266482e044ea3797\n"
    },
    {
      "commit": "6914a43790e2d383e7b1a956c9279eb2f9a3b819",
      "tree": "81d72e04904ba27e100e3729d4897c30e788526e",
      "parents": [
        "e090187048cada686cd159aa4b0f48ad4b8bddbb"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Mon Mar 24 12:07:09 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 24 12:07:58 2025 -0700"
      },
      "message": "#vbmc Interrupt event queue on shutdown\n\nPiperOrigin-RevId: 740025000\nChange-Id: Ied5aa762161b224156a3c61a5d074deb8cca3227\n"
    },
    {
      "commit": "e090187048cada686cd159aa4b0f48ad4b8bddbb",
      "tree": "3d54a066baf94ecba906fceced7a51309fcdfbba",
      "parents": [
        "f181bcca7bcb762a6eeb21169719dcb4368f91ad"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Fri Mar 21 12:25:03 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 21 12:25:42 2025 -0700"
      },
      "message": "#vbmc Only update error counters on critical events\n\nPiperOrigin-RevId: 739262414\nChange-Id: I3cd2a6b95c5f91d91b22dfc806295df60468e808\n"
    },
    {
      "commit": "f181bcca7bcb762a6eeb21169719dcb4368f91ad",
      "tree": "6babe87fefccb1b1f6443350ba00e63e465991e8",
      "parents": [
        "532772c7b0088596d81c3e525d3a291616e4e754"
      ],
      "author": {
        "name": "Craig Tiller",
        "email": "ctiller@google.com",
        "time": "Wed Mar 19 11:14:29 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 19 11:15:07 2025 -0700"
      },
      "message": "Migrate away from third_party/grpc/google_specific status.h\n\nRedirect usage of third_party/grpc/google_specific/grpcpp/{support,impl}/status.h to third_party/grpc/include/grpcpp/status.h by changing include statements.\n\nThe former is an internal name that unfortunately leaked quite widely. The latter is the canonical name we’d like to use moving forward.\n\nTested:\n    TAP --sample ran all affected tests and none failed\n    http://test/OCL:738061072:BASE:738207206:1742348993056:4209083c\nPiperOrigin-RevId: 738470240\nChange-Id: I5e449e085ad9010339111a6049069c462eca34d7\n"
    },
    {
      "commit": "532772c7b0088596d81c3e525d3a291616e4e754",
      "tree": "386b1bc2c6694b5438e8fb6fb969ed1af9fc1258",
      "parents": [
        "ebe6da9aaab76d125a57119c3206cb3e313383ed"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Fri Mar 14 13:05:00 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 14 13:05:27 2025 -0700"
      },
      "message": "#vbmc - Add error counters to machine state\n\nPiperOrigin-RevId: 736960683\nChange-Id: Ie9d87e0fd8bfbeeb44f579fa1419da4856b532e2\n"
    },
    {
      "commit": "ebe6da9aaab76d125a57119c3206cb3e313383ed",
      "tree": "c3b45c86a0e2bf78cdcb1d4b826d0848bd18a58b",
      "parents": [
        "c667ff2b98dc98f7bc5c92c502465edb0de82b2e"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Thu Mar 13 13:18:37 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 13 13:19:07 2025 -0700"
      },
      "message": "#vbmc: Parse CPU errors in CPER data\n\nPiperOrigin-RevId: 736616431\nChange-Id: I5320f96198ab553e344fc93ba92053f793dde70c\n"
    },
    {
      "commit": "c667ff2b98dc98f7bc5c92c502465edb0de82b2e",
      "tree": "706eb678595d4fdb6cddf18079b19ecafa1fbacd",
      "parents": [
        "b65e5989875f47a88ca99a4c91068e9376df547d"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Wed Mar 12 13:05:19 2025 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 12 13:05:47 2025 -0700"
      },
      "message": "#vbmc - Parse memory errors from CPER\n\nPiperOrigin-RevId: 736238411\nChange-Id: Id4bd40b41dce9132e50e8bbc0a076885eef305ca\n"
    },
    {
      "commit": "b65e5989875f47a88ca99a4c91068e9376df547d",
      "tree": "0c3df544a3d1024e6d71d347875aa801cff93b8c",
      "parents": [
        "fe39b332ff7ad8ee8af502fd89b1dae1a4b6554b"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Mon Mar 03 17:35:24 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 03 17:35:54 2025 -0800"
      },
      "message": "#vbmc - Parse message severity from CPER events\n\nPiperOrigin-RevId: 733120256\nChange-Id: I16c56ca66ee7bf9c0ca5dffbf8f8fd3a11b6c368\n"
    },
    {
      "commit": "fe39b332ff7ad8ee8af502fd89b1dae1a4b6554b",
      "tree": "0f021d024c612675d9cb0bef8fc1c9ccef698fa7",
      "parents": [
        "ff111efc6147ac186d63eb4b52138e9d522817c3"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Mon Feb 24 15:56:52 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Feb 24 15:57:30 2025 -0800"
      },
      "message": "#vbmc: Send Cper event from vBMC to Collector in Stellaris\n\nPiperOrigin-RevId: 730628055\nChange-Id: I836a1cfc6a0c51d8dd48c1ca6167b3158e9f311b\n"
    },
    {
      "commit": "ff111efc6147ac186d63eb4b52138e9d522817c3",
      "tree": "76ec5f384315d67b1418a68115c29fd4f74f9b71",
      "parents": [
        "76566c34fa21f3ac8e372fb7dae9cfcf41b4896f"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Mon Feb 24 15:37:18 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Feb 24 15:37:48 2025 -0800"
      },
      "message": "Add CperEvent type in events.proto\n\nPiperOrigin-RevId: 730621612\nChange-Id: I7a6418d8a3039a9a26e9e32372718eba96907ede\n"
    },
    {
      "commit": "76566c34fa21f3ac8e372fb7dae9cfcf41b4896f",
      "tree": "c25578de39f541af41283035e0e0ac9de56e762e",
      "parents": [
        "422755eb7a3911f0fc9a46f56843e5be4c7118ba"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Wed Feb 19 16:05:25 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Feb 19 16:06:04 2025 -0800"
      },
      "message": "#vbmc: Add support for all HTTP verb in gRPC passthrough\n\nCurrently we were sending a GET request irrespective of the request verb\n\nPiperOrigin-RevId: 728852924\nChange-Id: I03dede5b7341810895a9ea6a689fc17d1dc842ca\n"
    },
    {
      "commit": "422755eb7a3911f0fc9a46f56843e5be4c7118ba",
      "tree": "922c57447c9b215b1728347afd81e06a7380893a",
      "parents": [
        "81080e911f6500dbb2ed042d7eec6c9b2e76c60b"
      ],
      "author": {
        "name": "vBMC Team",
        "email": "vbmc-dev@google.com",
        "time": "Tue Feb 11 20:41:33 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Feb 11 20:42:00 2025 -0800"
      },
      "message": "Fix 2 IncludeCleaner findings:\n* Used header \"third_party/milotic/internal/cc/proxy/proxy_config.proto.h\" is not included directly (2 times)\n\n ⚠️ Problems with this CL?\n Click the \"Roll back\" button above, write a description of the problem (ideally with supporting logs/dashboards/screenshots) and a human global approver will be assigned to review the generated rollback CL.\n* See go/include-cleaner for more information about the tool that generated this change.\n* The global approvers for this change category are currently piloting the go/reviewbot tool so you may see global-review-bot-composite as the approver. Please contact code-health-team@google.com if you have any questions/concerns about the approval process.\n\nSee go/include-cleaner-lsc-approval for more information on why you\u0027ve received this change and why it is important.\n\nThis CL looks good? Just LGTM and Approve it!\nThis CL doesn’t look good? This is what you can do:\n* Revert this CL, by replying \"REVERT: \u003cprovide reason\u003e\"\n* File a bug under go/include-cleaner-bug for category IncludeCleaner if there\u0027s an issue with the CL content.\n* File a bug under go/rosie-bug if there\u0027s an issue with how the CL was managed.\n* For all other issues such as the formatting of the CL, please file a bug under\ngo/clrobot-bug.\n* Revert this CL and not get a CL that cleans up these paths in the future by\nreplying \"BLOCKLIST: \u003cprovide reason\u003e\". This is not reversible! We recommend to\nopt out the respective paths in your CL Robot configuration instead:\ngo/clrobot-opt-out.\n\nThis CL was generated by CL Robot - a tool that cleans up code findings\n(go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/third_party/ecclesia/tricorder.METADATA which is reachable following include_presubmits from //depot/google3/third_party/milotic/METADATA by\nfollowing go/clrobot#how-to-opt-in. Anything wrong with the signup? File a bug\nat go/clrobot-bug.\n\n#codehealth\n\nTested:\n    Local presubmit tests passed.\nPiperOrigin-RevId: 725883612\nChange-Id: I03bad9864ec8a5d1484e9a72a590788d0cb5e9d0\n"
    },
    {
      "commit": "81080e911f6500dbb2ed042d7eec6c9b2e76c60b",
      "tree": "54f696654aedc2fb903379cdd87426c7138d9e4c",
      "parents": [
        "cadd0ba5de1a8f07a2bb7c6b8bffe449b1a0392b"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Tue Feb 11 11:26:17 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Feb 11 11:27:05 2025 -0800"
      },
      "message": "#vbmc: Support multiple Events in single Redfish SSE event\n\nMove parsing of SSE event for Cper to separate file, which makes it easier to add unit tests\n\nPiperOrigin-RevId: 725707457\nChange-Id: I8a84e8bb81261f843714e715b9064045390ebcf5\n"
    },
    {
      "commit": "cadd0ba5de1a8f07a2bb7c6b8bffe449b1a0392b",
      "tree": "b93cac9383a259369b070145fdcbde5f647ed0af",
      "parents": [
        "be4d75e0f93748e5d8151bf7d87464f9a3174d67"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Tue Feb 04 11:40:12 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Feb 04 11:40:40 2025 -0800"
      },
      "message": "#vbmc: Update error log if ParseSSEvent fails\n\nInclude event as part of the error log, which helps in debugging.\n\nPiperOrigin-RevId: 723169420\nChange-Id: I03c57ac2d025a0f7f9fdcd2fd5eeb2a7cc18944c\n"
    },
    {
      "commit": "be4d75e0f93748e5d8151bf7d87464f9a3174d67",
      "tree": "1ac8648c09cc4ca088d0770bff97175a2997fee0",
      "parents": [
        "cdf0f07bba908bd4cac1ea67a44d97cea8e19107"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Wed Jan 29 13:40:35 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jan 29 13:41:13 2025 -0800"
      },
      "message": "#vbmc: Add mtls auth in Stellaris vbmc\n\nPiperOrigin-RevId: 721093305\nChange-Id: Ifbec14a7bd31e0c8fd24d4eb920269ad4a701d5f\n"
    },
    {
      "commit": "cdf0f07bba908bd4cac1ea67a44d97cea8e19107",
      "tree": "f80f804934e8f57da4d499613a32b806b6cdbdad",
      "parents": [
        "840a0a7a729764747c49ca8eb6a8d1f13b4684f5"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Fri Jan 24 10:47:53 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jan 24 10:48:33 2025 -0800"
      },
      "message": "#vbmc: Add grpc server builder channel arguments\n\nDefault values in OpenSource version do not allow long running streaming RPCs, these are the default values used in G3 gRPC servers\ngo/keepalive-ping-grpc-core\n\nPiperOrigin-RevId: 719359846\nChange-Id: I6cea41f6dd98b7c6e1c29439bd25ba61c6b4065c\n"
    },
    {
      "commit": "840a0a7a729764747c49ca8eb6a8d1f13b4684f5",
      "tree": "c3a83e936326656563f7b8ba4e93151b0c849b33",
      "parents": [
        "a444ee81c653b5d8561404e325d8c2ce9eceb897"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Wed Jan 15 12:30:53 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jan 15 12:31:20 2025 -0800"
      },
      "message": "#vbmc: Stellaris CPER plugin fixes\n\nAdd separate header for Accept\nAdd validations for json received from sse\nParse Id field from sse json for EventID\nPass SSE id in parsing function\n\nPiperOrigin-RevId: 715901643\nChange-Id: Iccd35af9691cefaf90916c0ce355a00703c58c30\n"
    },
    {
      "commit": "a444ee81c653b5d8561404e325d8c2ce9eceb897",
      "tree": "e87474a56af5f726c601a12432f11f44fdf15056",
      "parents": [
        "44779d64efbc3e623ba83252e5a1357cd0a82791"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Tue Jan 14 11:43:36 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jan 14 11:44:12 2025 -0800"
      },
      "message": "#vbmc - Use a pool of http clients to service concurrent requests\n\n`CurlHttpClient` is [not thread safe](https://source.corp.google.com/piper///depot/google3/third_party/ecclesia/lib/http/curl_client.h;rcl\u003d677857727;cl\u003d713100915;l\u003d188), so we should not send concurrent requests on the same client. In order to allow concurrent requests in vBMC, this is implemented by creating a pool of clients. Each request will first allocate a client from the pool, then complete the request, and finally return the client to the pool.\n\nSince most requests are _not_ concurrent, the pool is implemented as a stack so that requests preferentially use the same client repeatedly. This lets us make better use of curl\u0027s connection pool.\n\nPiperOrigin-RevId: 715464667\nChange-Id: I34c0a0f0e888a26548bda7b748fe6bf54d023f82\n"
    },
    {
      "commit": "44779d64efbc3e623ba83252e5a1357cd0a82791",
      "tree": "cb9e09be8bfc05156c94aef04b41ca0083d925c0",
      "parents": [
        "f9e7eee58229c6f6fbdd83233afba447d26e1c1d"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Thu Jan 02 12:43:59 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jan 02 12:44:33 2025 -0800"
      },
      "message": "HISC connector\n\nImplements fetching SSH keys from the gBMC authz service to connect to host serial console SSH on gBMC.\n\nPiperOrigin-RevId: 711498093\nChange-Id: I1b788a3c3b207e40f448ef63a4fa2e58c313445b\n"
    },
    {
      "commit": "f9e7eee58229c6f6fbdd83233afba447d26e1c1d",
      "tree": "db2c086bb382a7bc8050d3b68f03ae093c951880",
      "parents": [
        "3c75d4c89efe7c5518efe77775b67ade8d059013"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Thu Jan 02 12:17:48 2025 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jan 02 12:18:24 2025 -0800"
      },
      "message": "Move GrpcAuth message out of Plugin message.\n\nThis makes it cleaner to use the same grpc auth settings in other parts of the config.\n\nPiperOrigin-RevId: 711491808\nChange-Id: I45b4ae34f615b0e84997ac6268d8b18f34c8c9fe\n"
    },
    {
      "commit": "3c75d4c89efe7c5518efe77775b67ade8d059013",
      "tree": "2777ac063df26f0a5dfb4c4667bb94735ab6503c",
      "parents": [
        "11ec27b2ce6397d6fd9c0aa47178ccabdb304f43"
      ],
      "author": {
        "name": "vBMC Team",
        "email": "vbmc-dev@google.com",
        "time": "Thu Dec 12 03:27:07 2024 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Dec 12 03:27:40 2024 -0800"
      },
      "message": "Fix 3 IncludeCleaner findings:\n* Used header \"third_party/milotic/internal/cc/proxy/proxy_config.proto.h\" is not included directly (3 times)\n\n ⚠️ Problems with this CL?\n Click the \"Roll back\" button above, write a description of the problem (ideally with supporting logs/dashboards/screenshots) and a human global approver will be assigned to review the generated rollback CL.\n* See go/include-cleaner for more information about the tool that generated this change.\n* The global approvers for this change category are currently piloting the go/reviewbot tool so you may see global-review-bot-composite as the approver. Please contact code-health-team@google.com if you have any questions/concerns about the approval process.\n\nSee go/include-cleaner-lsc-approval for more information on why you\u0027ve received this change and why it is important.\n\nThis CL looks good? Just LGTM and Approve it!\nThis CL doesn’t look good? This is what you can do:\n* Revert this CL, by replying \"REVERT: \u003cprovide reason\u003e\"\n* File a bug under go/include-cleaner-bug for category IncludeCleaner if there\u0027s an issue with the CL content.\n* File a bug under go/rosie-bug if there\u0027s an issue with how the CL was managed.\n* For all other issues such as the formatting of the CL, please file a bug under\ngo/clrobot-bug.\n* Revert this CL and not get a CL that cleans up these paths in the future by\nreplying \"BLOCKLIST: \u003cprovide reason\u003e\". This is not reversible! We recommend to\nopt out the respective paths in your CL Robot configuration instead:\ngo/clrobot-opt-out.\n\nThis CL was generated by CL Robot - a tool that cleans up code findings\n(go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/third_party/ecclesia/tricorder.METADATA which is reachable following include_presubmits from //depot/google3/third_party/milotic/METADATA by\nfollowing go/clrobot#how-to-opt-in. Anything wrong with the signup? File a bug\nat go/clrobot-bug.\n\n#codehealth\n\nTested:\n    Local presubmit tests passed.\nPiperOrigin-RevId: 705441864\nChange-Id: If73820aca86a13fc907619e02defc7bce61a3bb9\n"
    },
    {
      "commit": "11ec27b2ce6397d6fd9c0aa47178ccabdb304f43",
      "tree": "7aca0df6ceffae2d92ba32a78a7b9fce6432a420",
      "parents": [
        "c730082c58c7eab5e24f3f6bd4b52e038ac45af0"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Tue Dec 10 14:52:50 2024 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Dec 10 14:53:14 2024 -0800"
      },
      "message": "#vbmc: Fix data race in timer\n\nPiperOrigin-RevId: 704854996\nChange-Id: I28cdbee33f953aa24bc3141dd04aa4db8e4b5fda\n"
    },
    {
      "commit": "c730082c58c7eab5e24f3f6bd4b52e038ac45af0",
      "tree": "d6c628bf80c9c929c0adcc9719c4d1eb7719cd37",
      "parents": [
        "a2ece18bbdb15be9a67070e777c8997873e8b6f9"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Tue Dec 10 13:12:16 2024 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Dec 10 13:12:52 2024 -0800"
      },
      "message": "#vbmc: Add ProxyRequest and ProxyResponse\n\nProxyRequest/Response inherit ecclesia::HttpClient::HttpRequest/Response\nThis is done to improve code consistency and readability.\nThis will also help us add new params in Request and Response structs.\n\nPiperOrigin-RevId: 704820928\nChange-Id: Ie0f564733dfb4f9574d507570df9bd45fe78c455\n"
    },
    {
      "commit": "a2ece18bbdb15be9a67070e777c8997873e8b6f9",
      "tree": "8566280200003e8112216652bfac84b76af464b9",
      "parents": [
        "6c2b3ce973df078414be4b10727321779b26de77"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Thu Dec 05 12:01:08 2024 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Dec 05 12:01:34 2024 -0800"
      },
      "message": "Get pending write counts from SSH client API\n\nThis will allow Nanny to flush pending outputs, and to throttle writes if there is too much data buffered.\n\nPiperOrigin-RevId: 703198421\nChange-Id: I1198d5dfbef6ecb91cac537662bdeda7dcad285d\n"
    },
    {
      "commit": "6c2b3ce973df078414be4b10727321779b26de77",
      "tree": "1832a62d3e463f8d992a738a3e9c3238aef38683",
      "parents": [
        "68d032c68034e6f8166a9f13a06a8e790ca2b67c"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Tue Dec 03 11:31:14 2024 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Dec 03 11:32:00 2024 -0800"
      },
      "message": "Fix GetRequestAction handling multiple verbs on one resource\n\nPiperOrigin-RevId: 702411525\nChange-Id: Ifff5af9f8afca6ffc99cd9f0775a58009c29b5ba\n"
    },
    {
      "commit": "68d032c68034e6f8166a9f13a06a8e790ca2b67c",
      "tree": "887d085a411fca026417093d17888b8719695024",
      "parents": [
        "3bd708aaf7de1fdb1af49a51056c8cce8ab3a162"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Mon Dec 02 17:27:14 2024 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Dec 02 17:27:46 2024 -0800"
      },
      "message": "Add accessor for queue in proxy.\n\nPiperOrigin-RevId: 702136357\nChange-Id: Ied365ceda2e057dd0403975fa224c01e73132708\n"
    },
    {
      "commit": "3bd708aaf7de1fdb1af49a51056c8cce8ab3a162",
      "tree": "fb6a2570e31262a1f034fab8589bae5df7a0cddf",
      "parents": [
        "51876e87a7247481bdbcf573e6d6dfe736c6a963"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Wed Nov 27 18:23:13 2024 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 27 18:23:46 2024 -0800"
      },
      "message": "Add OnFinished callback to RedfishPlugin\n\nThis will be used to signal disconnection of the underlying SSH connection in a bidirectional stream for the console.\n\nPiperOrigin-RevId: 700859709\nChange-Id: Id3ecf2ca6fe182d0858679e3bf8ced1464f45ff3\n"
    },
    {
      "commit": "51876e87a7247481bdbcf573e6d6dfe736c6a963",
      "tree": "3cb0b10635de31f296cb765d3617ef33495c4704",
      "parents": [
        "c6f0bc2700704d5856cdf4742c350236158eef6c"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Wed Nov 27 16:18:16 2024 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 27 16:20:23 2024 -0800"
      },
      "message": "Support additional service types in proxy\n\nWith this change, it is possible to add new gRPC services to the Proxy without having to modify the config proto. This change also passes the service config message to the service implementation.\n\nPiperOrigin-RevId: 700830962\nChange-Id: I8d974abbee1d8e84fb87be487921746279a60ce5\n"
    },
    {
      "commit": "c6f0bc2700704d5856cdf4742c350236158eef6c",
      "tree": "192c159f919f9166058e7adeac986cc89f93fc0a",
      "parents": [
        "3522386a3d213d47881c9568dc27388b887803f9"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Wed Nov 27 11:23:19 2024 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 27 11:23:59 2024 -0800"
      },
      "message": "#vbmc: Add a GetRequestAction method to the proxy that can be used by plugins to handle a request without modifying it.\n\nPiperOrigin-RevId: 700759327\nChange-Id: I9fcb950f11be979e2f56879003dd214dcf668817\n"
    },
    {
      "commit": "3522386a3d213d47881c9568dc27388b887803f9",
      "tree": "14a1ea24bc58aca99cc37d8bd2089ec2940a6d29",
      "parents": [
        "66e66bbc86c321bcae43c9302c133e719f299c0e"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Wed Nov 27 10:58:09 2024 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 27 10:58:46 2024 -0800"
      },
      "message": "#vbmc: Rename Proxy:PreprocessRequest to GetRequestHandler\n\nPiperOrigin-RevId: 700751870\nChange-Id: I5722395d9f51c89df2f8d4ca4d4c72f95c8d5386\n"
    },
    {
      "commit": "66e66bbc86c321bcae43c9302c133e719f299c0e",
      "tree": "995ee5d867c5e8dd0dd629f80aff404d64ebfe8f",
      "parents": [
        "c019f83685925d4dd087ea210db842681ca35692"
      ],
      "author": {
        "name": "Shounak Mitra",
        "email": "shounak@google.com",
        "time": "Tue Nov 26 22:40:44 2024 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 26 22:41:18 2024 -0800"
      },
      "message": "Bidirectional stream support in vBMC proxy\n\nAdds a new verb to support bidirectional streams. The implementation is the same as for a subscribe stream, but plugins should also return an `EventHandler` of their own which is called with messages sent in to the plugin.\n\nPiperOrigin-RevId: 700570241\nChange-Id: I8fa18446f27a4a93099d98f3334fade9b1afd2d1\n"
    },
    {
      "commit": "c019f83685925d4dd087ea210db842681ca35692",
      "tree": "46afab9ba8c9a6ab4af79dfa9ac49f88fd13932d",
      "parents": [
        "fc6f0c663a111474b6e33b725907d8441270240c"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Mon Nov 25 17:02:04 2024 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 25 17:02:31 2024 -0800"
      },
      "message": "Add meson builds and copybara changes for Cper plugin\n\nPiperOrigin-RevId: 700144113\nChange-Id: I45811dc34a4eabb66c66e17e07691c79f03721a2\n"
    },
    {
      "commit": "fc6f0c663a111474b6e33b725907d8441270240c",
      "tree": "02b812c14597fa8c79ffcf578cc15940e48e9723",
      "parents": [
        "e1acc746452ab8e0b6440f83e831fe12f8c78597"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Mon Nov 25 16:20:33 2024 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 25 16:21:03 2024 -0800"
      },
      "message": "Kokoro presubmit fixes\n\nRemove edition from proto files.\nThe edition is not supported in open source proto\n\nPiperOrigin-RevId: 700132449\nChange-Id: I312a318bfe5379041b126f1ad3d180ca6f10b29b\n"
    },
    {
      "commit": "e1acc746452ab8e0b6440f83e831fe12f8c78597",
      "tree": "90aa089d180f382064c2b0dad61010373aad3e7c",
      "parents": [
        "97423a80cfad13980dcda9e364774759c2373724"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Mon Nov 25 13:19:53 2024 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 25 13:20:30 2024 -0800"
      },
      "message": "Add CperEventsPlugin and CperEventsManager for Stellaris.\n\nPiperOrigin-RevId: 700080411\nChange-Id: I601379544e4c14cdcfe058de80d4a2d1fa02cf81\n"
    },
    {
      "commit": "97423a80cfad13980dcda9e364774759c2373724",
      "tree": "d7c73aea94983247a6e93762cf6681f8f5dad897",
      "parents": [
        "95edd4d14e2212087e6007d6cc2e8300ac51a643"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Mon Nov 25 10:42:23 2024 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 25 10:42:58 2024 -0800"
      },
      "message": "Add base events manager for sse plugins\n\nKeep Eiger specific functions in eiger_events.h/cc, all other generic functionality which can be reused for Cper plugin is moved to BaseEventsManager.\nProcessInitExpiry, ProcessEvent and ParseRedfishEvent are added as virtual functions in BaseEventsManager which have to be defined in for Eiger and Cper.\n\nPiperOrigin-RevId: 700033693\nChange-Id: Iedddf0e68d8058547c5b6864c0628c653c4eb8c0\n"
    },
    {
      "commit": "95edd4d14e2212087e6007d6cc2e8300ac51a643",
      "tree": "f098f2bfd7bdb029feb77fce7d77f9f3b493b057",
      "parents": [
        "769f45b7de4c3c8207aab3934c55e30eec37ff8c"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Fri Nov 15 10:36:46 2024 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 15 10:37:45 2024 -0800"
      },
      "message": "#vbmc: Add support for gRPC target scheme in Milotic proxy.\n\nPiperOrigin-RevId: 696932767\nChange-Id: I88abae879a01804732a19f493d07de86c259fbec\n"
    },
    {
      "commit": "769f45b7de4c3c8207aab3934c55e30eec37ff8c",
      "tree": "8f80cf52316fce721b0662b6173991c00d100e78",
      "parents": [
        "232a404e5be592993bc193c11ac4085bbd601716"
      ],
      "author": {
        "name": "vBMC Team",
        "email": "vbmc-dev@google.com",
        "time": "Tue Nov 05 21:57:53 2024 -0800"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 05 21:58:23 2024 -0800"
      },
      "message": "Run go/cclean on time/clock.* files\n\nPiperOrigin-RevId: 693587709\nChange-Id: Icb0e53656cf1eb1b09dd5b17f7b8b2cd3f7ae597\n"
    },
    {
      "commit": "232a404e5be592993bc193c11ac4085bbd601716",
      "tree": "f434c0e914f5b91726fd1ddeda8e8def4deb269e",
      "parents": [
        "4db7c82f7e294470d49d575078269a93143bb2ea"
      ],
      "author": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Tue Oct 29 10:58:16 2024 -0700"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Oct 29 10:58:49 2024 -0700"
      },
      "message": "Add copybara for using util/time/clock in gBMC env for use in vBMC\n\nPiperOrigin-RevId: 691083712\nChange-Id: I5b714d1405c284be3a6bf759bc943e7789a22e8b\n"
    },
    {
      "commit": "4db7c82f7e294470d49d575078269a93143bb2ea",
      "tree": "2316dc1fa8b242fb6a0e7e3fb1fe971230f07174",
      "parents": [
        "8282e29072ebdfd11d4562fb9bba585aa8327701"
      ],
      "author": {
        "name": "vBMC Team",
        "email": "vbmc-dev@google.com",
        "time": "Mon Oct 21 14:34:38 2024 -0700"
      },
      "committer": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Mon Oct 21 14:58:09 2024 -0700"
      },
      "message": "Project import generated by Copybara.\n\nPiperOrigin-RevId: 688275910\nChange-Id: Iabd117b930d25b8dd1f1dcace2c0a383547247f7\n"
    },
    {
      "commit": "8282e29072ebdfd11d4562fb9bba585aa8327701",
      "tree": "c9643ea6d86c7c34bf064d7c2d1809f005497f19",
      "parents": [
        "4e067e3dba0a2a6392b1e37730048995baa0f5c3"
      ],
      "author": {
        "name": "vBMC Team",
        "email": "vbmc-dev@google.com",
        "time": "Thu Oct 17 15:46:06 2024 -0700"
      },
      "committer": {
        "name": "Rishabh Jain",
        "email": "jainrish@google.com",
        "time": "Thu Oct 17 15:47:05 2024 -0700"
      },
      "message": "Project import generated by Copybara.\n\nPiperOrigin-RevId: 687070597\nChange-Id: I62701002f129da793ede546c92e1ac21ac294836\n"
    },
    {
      "commit": "4e067e3dba0a2a6392b1e37730048995baa0f5c3",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [],
      "author": {
        "name": "Benjamin Fair",
        "email": "benjaminfair@google.com",
        "time": "Thu Jul 11 18:35:26 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jul 11 18:35:26 2024 +0000"
      },
      "message": "Initial empty repository\n"
    }
  ]
}
