)]}'
{
  "log": [
    {
      "commit": "a094f3cfb2e059f870bcc41714a669a1af3c4048",
      "tree": "886ac5bcab6b9a58377f061826bcfaa06dd4ec2f",
      "parents": [
        "9d8b2aea13101ea7731c96cf8d3bb15a01a2dc77"
      ],
      "author": {
        "name": "Kshitij Shah",
        "email": "tij@google.com",
        "time": "Tue Oct 06 21:23:39 2026"
      },
      "committer": {
        "name": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Oct 13 06:43:42 2026"
      },
      "message": "firmweaver: build/run script\n\nAllow running ./firmweaver directly without a manual build step.\n\nBUG\u003db:475292981\nTEST\u003dgo test -v -race ./...\n\nChange-Id: I83d9d0f3fd6673d9d408ebbaef1f81a14a83d05f\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/firmweaver/+/8522578\nTested-by: Kshitij Shah \u003ctij@google.com\u003e\nReviewed-by: Karthik Ramasubramanian \u003ckramasub@google.com\u003e\nCommit-Queue: Kshitij Shah \u003ctij@google.com\u003e\n"
    },
    {
      "commit": "9d8b2aea13101ea7731c96cf8d3bb15a01a2dc77",
      "tree": "82cf27c41ef663ecdcaad0728d5aaf947e331e36",
      "parents": [
        "868277cf67b39e861e8d8673583f099b240f8f8f"
      ],
      "author": {
        "name": "Kshitij Shah",
        "email": "tij@google.com",
        "time": "Tue Oct 06 21:23:33 2026"
      },
      "committer": {
        "name": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sat Oct 10 00:50:38 2026"
      },
      "message": "firmweaver: update dtsi generation\n\nSupport unmodified EC pinout sheets and match arbitrage output.\n\nBUG\u003db:427556454\nTEST\u003dgo test -v -race ./...\nTEST\u003dcompared generated kenai dtsi between arb and firmweaver\nChange-Id: Id7c95bb62edc558472b774f19303ad5466e2474c\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/firmweaver/+/8522577\nReviewed-by: Karthik Ramasubramanian \u003ckramasub@google.com\u003e\nCommit-Queue: Kshitij Shah \u003ctij@google.com\u003e\nTested-by: Kshitij Shah \u003ctij@google.com\u003e\n"
    },
    {
      "commit": "868277cf67b39e861e8d8673583f099b240f8f8f",
      "tree": "049512817245f6f030d256fdc1ddc732096a1120",
      "parents": [
        "4fbe9a4924c6e496792ceeca55dafe4d6641243b"
      ],
      "author": {
        "name": "Kshitij Shah",
        "email": "tij@google.com",
        "time": "Tue Sep 01 08:23:42 2026"
      },
      "committer": {
        "name": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 22 21:08:24 2026"
      },
      "message": "firmweaver: Usage metrics support\n\n- Shared metrics utils\n- Added to zephyr_dtsi and coreboot_gpio\n- Add unit tests\nUploads metrics to bigquery, viewable with plx dashboard\n\nBUG\u003db:475292981\nTEST\u003dgo test -v -race ./...\n\nChange-Id: I43a41f14ea4524969077254844e1a6956febf94b\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/firmweaver/+/8318031\nReviewed-by: Karthik Ramasubramanian \u003ckramasub@google.com\u003e\nCommit-Queue: Kshitij Shah \u003ctij@google.com\u003e\nTested-by: Kshitij Shah \u003ctij@google.com\u003e\n"
    },
    {
      "commit": "4fbe9a4924c6e496792ceeca55dafe4d6641243b",
      "tree": "79a2c0d386c4ba8424287d9f4d19b1d5a1d429e7",
      "parents": [
        "4ced0032e5fe88604482cd8667d6a81e83ecbd0c"
      ],
      "author": {
        "name": "Kshitij Shah",
        "email": "tij@google.com",
        "time": "Tue Sep 01 08:23:27 2026"
      },
      "committer": {
        "name": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 22 00:10:19 2026"
      },
      "message": "firmweaver: Add support for google sheets\n\n- New shared code for reading/parsing google sheets.\n- go/ link parsing\n- New --sheet and --sheet-tab flags for zephyr_dtsi and\n  coreboot_gpio\n- Add unit tests for new stuff\n\nBUG\u003db:475292981\nTEST\u003dgo test -v -race ./...\n\nChange-Id: I406c5716ac99078e64b74682b16f7f8c82239268\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/firmweaver/+/8318030\nTested-by: Kshitij Shah \u003ctij@google.com\u003e\nReviewed-by: Karthik Ramasubramanian \u003ckramasub@google.com\u003e\nCommit-Queue: Kshitij Shah \u003ctij@google.com\u003e\n"
    },
    {
      "commit": "4ced0032e5fe88604482cd8667d6a81e83ecbd0c",
      "tree": "2b359e04867aa64e1eb8f31ae8289de0e2106d2f",
      "parents": [
        "f23be7380a649bc4d9ccc52348a8e48d4b3e7cb5"
      ],
      "author": {
        "name": "Kshitij Shah",
        "email": "tij@google.com",
        "time": "Tue Sep 01 07:30:08 2026"
      },
      "committer": {
        "name": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Sep 21 23:34:32 2026"
      },
      "message": "firmweaver: shared OAuth PKCE flow\n\n- New shared/auth package with OAuth2 PKCE authorization\n- Token caching in ~/.config/firmweaver/token.json\n- Add \"firmweaver auth [login|status|logout|token]\" subcommands\n- Add unit tests for PKCE\nAuth stuff is needed for both supporting google sheets and metrics in\nsubsequent CLs.\n\nBUG\u003db:475292981\nTEST\u003dgo test -v -race ./...\n\nChange-Id: Ib485823adeb30e15d4badec4ac9f1b2ea2b0f681\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/firmweaver/+/8318029\nReviewed-by: Karthik Ramasubramanian \u003ckramasub@google.com\u003e\nTested-by: Kshitij Shah \u003ctij@google.com\u003e\nCommit-Queue: Kshitij Shah \u003ctij@google.com\u003e\n"
    },
    {
      "commit": "f23be7380a649bc4d9ccc52348a8e48d4b3e7cb5",
      "tree": "5a3a0fa41b4f69de574994f998fffc2a4668c9bd",
      "parents": [
        "5e0a6b66ac1ab0bf38de1179dfc93e1de17ffd2c"
      ],
      "author": {
        "name": "Kshitij Shah",
        "email": "tij@google.com",
        "time": "Tue Sep 01 08:23:03 2026"
      },
      "committer": {
        "name": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 04 00:39:11 2026"
      },
      "message": "firmweaver: join CLI tools to new cmd firmweaver\n\n- Top level cli \"firmweaver coreboot_gpio\" and\n  \"firmweaver zephyr_dtsi\" (aliases: gpio, dtsi)\n- Add unittests\n- Update README.md with new build and usage instructions\nThis is needed so both tools can share authentication for google\nsheets support and usage metrics.\n\nBUG\u003db:475292981\nTEST\u003dgo test -v -race ./...\n\nChange-Id: Ie6293cf9f6c09e1c2650ae3e53de3da05989c0c8\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/firmweaver/+/8318028\nCommit-Queue: Kshitij Shah \u003ctij@google.com\u003e\nReviewed-by: Karthik Ramasubramanian \u003ckramasub@google.com\u003e\nTested-by: Kshitij Shah \u003ctij@google.com\u003e\n"
    },
    {
      "commit": "5e0a6b66ac1ab0bf38de1179dfc93e1de17ffd2c",
      "tree": "34a6aad7cd690ab7c38069195839b4314680a184",
      "parents": [
        "431e219503c68d87744f581c670607a606de3424"
      ],
      "author": {
        "name": "Kshitij Shah",
        "email": "tij@google.com",
        "time": "Tue Sep 01 07:28:31 2026"
      },
      "committer": {
        "name": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 04 00:07:22 2026"
      },
      "message": "firmweaver: Rename ap_fw and ec_fw tool\n\nRename directory ap_fw/ to coreboot_gpio/ and ec_fw/ to\nzephyr_dtsi/ in preparation for unifying tools in next CL.\n\nThe gpio_config.c file shows as deleted/readded because license header\nwas added, otherwise this CL doesn\u0027t change any code.\n\nBUG\u003db:475292981\nTEST\u003dgo test -v -race ./...\n\nChange-Id: Ieed6c01ed4029d82b058f816b657e8569503d171\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/firmweaver/+/8318027\nCommit-Queue: Kshitij Shah \u003ctij@google.com\u003e\nReviewed-by: Karthik Ramasubramanian \u003ckramasub@google.com\u003e\nTested-by: Kshitij Shah \u003ctij@google.com\u003e\n"
    },
    {
      "commit": "431e219503c68d87744f581c670607a606de3424",
      "tree": "318e861242749825d26fd3f55b7500f72bd5a0a4",
      "parents": [
        "55a06064339d9dd82f56f3c7263a5c29aea17714"
      ],
      "author": {
        "name": "Kshitij Shah",
        "email": "tij@google.com",
        "time": "Tue Jul 14 05:02:49 2026"
      },
      "committer": {
        "name": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Jul 23 00:16:10 2026"
      },
      "message": "ec_fw: Initial commit for ec dtsi tool\n\n- Migrated export-ec-devicetree-csv tool from arb cli\n- Created pin maps for chips arbitrage tool supported\n- Unit tests for new functions\n- Example csv/generated dtsi\n- Read me files for usage/building\n- moved go.mod to root so both ap_fw and ec_fw can share it\n\nBUG\u003db:427556454, b:475292981\nTEST\u003dCompared DTSI files generated by this tool for fatcat, nissa, rex\n     To output generated by arbitrage tool, verified only differences\n     resulting from new features/bugs in original arbitrage.\n\nChange-Id: I6dc27ee29971ada122cc74c5be09e66c0cad3aa1\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/firmweaver/+/8090097\nCommit-Queue: Kshitij Shah \u003ctij@google.com\u003e\nTested-by: Kshitij Shah \u003ctij@google.com\u003e\nReviewed-by: Karthik Ramasubramanian \u003ckramasub@google.com\u003e\n"
    },
    {
      "commit": "55a06064339d9dd82f56f3c7263a5c29aea17714",
      "tree": "868c5fe2f3a761dabf0408c7dec235ca8514349b",
      "parents": [
        "61a5f64e7091517f79abe600a38b556a52b0556d"
      ],
      "author": {
        "name": "Karthikeyan Ramasubramanian",
        "email": "kramasub@google.com",
        "time": "Tue Jul 07 04:38:49 2026"
      },
      "committer": {
        "name": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jul 08 21:02:50 2026"
      },
      "message": "firmweaver: Introduce GPIO tool for AP firmware config\n\nIntroduce the GPIO tool in ap_fw directory. This tool parses a GPIO\nmap CSV file (typically generated from a hardware spreadsheet) and\ngenerates C configuration code for different SoCs.\n\nCurrently supports Intel SoCs, with placeholder support for Qualcomm\nand MediaTek SoCs.\n\nThe Intel-specific logic is organized in intel_gpio_config.go, while\nthe main entry point and generic logic are in gpio_tool.go.\n\nInclude a Go module definition for building the tool, and update\nREADME.md with instructions.\nAlso include test data and expected output for verification.\n\nBUG\u003db:475292981, b:475293394\nTEST\u003dBuild the tool and run against the provided test CSV:\n./ap_fw/gpio_tool --soc intel --csv ap_fw/test/ExampleGpio.csv \\\n  --output /tmp/test.c\nVerify the output matches the expected ap_fw/test/gpio_config.c.\n\nChange-Id: Iafaa8f74510cdab0b6213c393350138f7fdbc7f2\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/firmweaver/+/8051010\nCommit-Queue: Karthik Ramasubramanian \u003ckramasub@google.com\u003e\nTested-by: Karthik Ramasubramanian \u003ckramasub@google.com\u003e\nReviewed-by: Kshitij Shah \u003ctij@google.com\u003e\n"
    },
    {
      "commit": "61a5f64e7091517f79abe600a38b556a52b0556d",
      "tree": "5d2e7b7f4dbcbb450ecadd563d07cf2eaa7e1273",
      "parents": [
        "bdb1cc5988455f946d47fd52ecee63004848c3bc"
      ],
      "author": {
        "name": "Karthikeyan Ramasubramanian",
        "email": "kramasub@google.com",
        "time": "Wed Jul 08 00:31:38 2026"
      },
      "committer": {
        "name": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jul 08 20:49:26 2026"
      },
      "message": "Add PRESUBMIT.cfg to enable checks during the CQ\n\nBUG\u003dNone\nTEST\u003dCQ\n\nChange-Id: I4edff3700884d256c70c48755f1ac9d00259becf\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/firmweaver/+/8065900\nAuto-Submit: Karthik Ramasubramanian \u003ckramasub@google.com\u003e\nReviewed-by: Kshitij Shah \u003ctij@google.com\u003e\nCommit-Queue: Kshitij Shah \u003ctij@google.com\u003e\nTested-by: Karthik Ramasubramanian \u003ckramasub@google.com\u003e\n"
    },
    {
      "commit": "bdb1cc5988455f946d47fd52ecee63004848c3bc",
      "tree": "3d68e6b449d7ecf037f5e66cd4c844b7a6c5f609",
      "parents": [
        "84840372b63b2736c5a37202eaaa85d65a061452"
      ],
      "author": {
        "name": "Karthikeyan Ramasubramanian",
        "email": "kramasub@google.com",
        "time": "Wed May 27 19:23:16 2026"
      },
      "committer": {
        "name": "Karthik Ramasubramanian",
        "email": "kramasub@google.com",
        "time": "Wed Jun 03 15:25:45 2026"
      },
      "message": "Add initial OWNERS, DIR_METADATA and README file\n\nBUG\u003db:514716149\nTEST\u003dCQ\n\nChange-Id: Ibbca816683ab962707174a55dd13c3aa80e83abd\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/firmweaver/+/7878639\nCommit-Queue: Karthik Ramasubramanian \u003ckramasub@google.com\u003e\nReviewed-by: Kshitij Shah \u003ctij@google.com\u003e\nTested-by: Karthik Ramasubramanian \u003ckramasub@google.com\u003e\n"
    },
    {
      "commit": "84840372b63b2736c5a37202eaaa85d65a061452",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [],
      "author": {
        "name": "Allen Li",
        "email": "ayatane@chromium.org",
        "time": "Wed May 20 01:10:09 2026"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 20 01:10:09 2026"
      },
      "message": "Initial empty repository\n"
    }
  ]
}
