)]}'
{
  "commit": "a68d8ab812bf037f6e3a13960341f5d891f2fd8f",
  "tree": "57aba8abe2b909ba7843759f42c8ca217d02aef9",
  "parents": [
    "5c91559918254972fd803d125a2b52e6db511a95"
  ],
  "author": {
    "name": "Ha Thach",
    "email": "thach@tinyusb.org",
    "time": "Fri Oct 02 15:40:06 2026 +0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Oct 02 15:40:06 2026 +0700"
  },
  "message": "ci: code size comment from stored master snapshots, ESP included (#4055)\n\n- Size pinned boards\u0027 examples (ESP-IDF and -DMA variants included) with membrowse 1.2.12 and store per-board snapshots as artifacts.\n- Compare a PR against the stored master snapshots and post one sticky comment: each changed TinyUSB file with its min to max Flash/RAM delta, plus what was not compared; the full report goes to the job summary and an artifact.\n- Retire the Membrowse PR comment.\n- Add tools/code_size.py report/diff for local runs, and the code-size skill.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "11df41b39b2c732f61191ed4ff17062f59fe8313",
      "old_mode": 33188,
      "old_path": ".claude/skills/code-size/SKILL.md",
      "new_id": "5c78c69e98378551bd497c0b91a1c65ced590f96",
      "new_mode": 33188,
      "new_path": ".claude/skills/code-size/SKILL.md"
    },
    {
      "type": "modify",
      "old_id": "96eee01d843a7fb3c26346003d98be7855bded8a",
      "old_mode": 33188,
      "old_path": ".github/actions/get_deps/action.yml",
      "new_id": "66deb7742082b2a55a3d67befb94ada575c6875e",
      "new_mode": 33188,
      "new_path": ".github/actions/get_deps/action.yml"
    },
    {
      "type": "modify",
      "old_id": "0df573820e74465dd2df38897e10a35b4b2ba5d2",
      "old_mode": 33188,
      "old_path": ".github/ci-pinned-boards.json",
      "new_id": "a6f09f3becda3fd749573cdf87e1313d28a19398",
      "new_mode": 33188,
      "new_path": ".github/ci-pinned-boards.json"
    },
    {
      "type": "delete",
      "old_id": "fbba1ee7831edfee5e9ac7ae310fefd23e427168",
      "old_mode": 33188,
      "old_path": ".github/membrowse_pr_message.j2",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4514311e034da6df3bab63250a009d992e83a673",
      "new_mode": 33188,
      "new_path": ".github/scripts/code_size_ci.py"
    },
    {
      "type": "modify",
      "old_id": "e465c64590529d8d8b52960e8ae8d95507811ffb",
      "old_mode": 33188,
      "old_path": ".github/scripts/hil_ci_set_matrix.py",
      "new_id": "f973cc1c5e9c30ac3b8b09b368841010e99458a1",
      "new_mode": 33188,
      "new_path": ".github/scripts/hil_ci_set_matrix.py"
    },
    {
      "type": "modify",
      "old_id": "ad975d25a04575783263d60d6c65657d3620e052",
      "old_mode": 33188,
      "old_path": ".github/workflows/build.yml",
      "new_id": "7d4a319c58c0deaf8ffd43a520309a1b964faae5",
      "new_mode": 33188,
      "new_path": ".github/workflows/build.yml"
    },
    {
      "type": "modify",
      "old_id": "a3f09b7adb86184a2c3f679a4cf7148be164e265",
      "old_mode": 33188,
      "old_path": ".github/workflows/build_util.yml",
      "new_id": "5dcf92c8247e076cbd07ac91acd84df90ada9406",
      "new_mode": 33188,
      "new_path": ".github/workflows/build_util.yml"
    },
    {
      "type": "delete",
      "old_id": "952d8ba37c9ac1f427e25f6064ec90353380a7db",
      "old_mode": 33188,
      "old_path": ".github/workflows/membrowse-comment.yml",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "1393e13953a3452a4aa684ac773986946c877534",
      "old_mode": 33188,
      "old_path": ".github/workflows/pr_comment.yml",
      "new_id": "0f4df7752b7e4e48dd38e12f9cc4f350dd39c611",
      "new_mode": 33188,
      "new_path": ".github/workflows/pr_comment.yml"
    },
    {
      "type": "modify",
      "old_id": "c67d7334c39420f7ff644f2015991a84b3a0804e",
      "old_mode": 33188,
      "old_path": ".pre-commit-config.yaml",
      "new_id": "059ec1ff327eb1a1b576057b2fcf26293c838fbd",
      "new_mode": 33188,
      "new_path": ".pre-commit-config.yaml"
    },
    {
      "type": "modify",
      "old_id": "17769e17d4a37f500a324bf72d002315ee4ea743",
      "old_mode": 33188,
      "old_path": "docs/superpowers/specs/2026-08-19-ci-build-family-filter-design.md",
      "new_id": "ee189cef5b114f21ec2e48b905e724546121c44a",
      "new_mode": 33188,
      "new_path": "docs/superpowers/specs/2026-08-19-ci-build-family-filter-design.md"
    },
    {
      "type": "modify",
      "old_id": "215683a0238b72f48c3c56871a1e26fff884bd98",
      "old_mode": 33188,
      "old_path": "hw/bsp/family_support.cmake",
      "new_id": "04d12d4e7bba669ba48ed7063b8ee16a0353caef",
      "new_mode": 33188,
      "new_path": "hw/bsp/family_support.cmake"
    },
    {
      "type": "modify",
      "old_id": "3db5fb6b25cdb2b13b13b3d6b281e888e55cb26e",
      "old_mode": 33188,
      "old_path": "test/hil/test/test_ci_metrics.py",
      "new_id": "faf605f50c44c768b0c4668e228871ecd1f4c93c",
      "new_mode": 33188,
      "new_path": "test/hil/test/test_ci_metrics.py"
    },
    {
      "type": "modify",
      "old_id": "a5ef6827de8b82da1df4e7668025d45ecd1ef1fb",
      "old_mode": 33188,
      "old_path": "test/hil/test/test_ci_select.py",
      "new_id": "35e7a8e59eafca2c9e7273c543cb0b9f73c61cc6",
      "new_mode": 33188,
      "new_path": "test/hil/test/test_ci_select.py"
    },
    {
      "type": "modify",
      "old_id": "7c9812acab3d71d5a486edd048efd7d47fb7c74f",
      "old_mode": 33188,
      "old_path": "test/hil/test/test_code_size.py",
      "new_id": "5414d1815d23312955de73cf829eec4e09451d4d",
      "new_mode": 33188,
      "new_path": "test/hil/test/test_code_size.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "73980104c566809b4cf482731d6de7e88f65a76e",
      "new_mode": 33188,
      "new_path": "test/hil/test/test_code_size_ci.py"
    },
    {
      "type": "modify",
      "old_id": "7d7d61e2db10a1c242e8a1d60f61ae526d33b15a",
      "old_mode": 33188,
      "old_path": "test/hil/test/test_membrowse_cli.py",
      "new_id": "a75271647a351f9b7887c350e84dd2a5e08e7f34",
      "new_mode": 33188,
      "new_path": "test/hil/test/test_membrowse_cli.py"
    },
    {
      "type": "modify",
      "old_id": "13690d27c85d08366d1de503df800e44d79ec8aa",
      "old_mode": 33261,
      "old_path": "tools/build.py",
      "new_id": "f5fc8a8fd1c10d229b5d8ace834250046363b5cb",
      "new_mode": 33261,
      "new_path": "tools/build.py"
    },
    {
      "type": "modify",
      "old_id": "17dfd89f575700587c56cee99b7148c0e079c548",
      "old_mode": 33261,
      "old_path": "tools/ci_select.py",
      "new_id": "e7e989e27a67f2a89ad578deb6413e85cb66c1bc",
      "new_mode": 33261,
      "new_path": "tools/ci_select.py"
    },
    {
      "type": "modify",
      "old_id": "bebc69f919da2d1be1ed25f4d79ecf372e0010bb",
      "old_mode": 33188,
      "old_path": "tools/code_size.py",
      "new_id": "798c7493e7c436d5050ced48c9d62a2727892541",
      "new_mode": 33188,
      "new_path": "tools/code_size.py"
    },
    {
      "type": "modify",
      "old_id": "fe147d2ae657be604ed2d17438029bc604e35099",
      "old_mode": 33188,
      "old_path": "tools/membrowse_cli.py",
      "new_id": "12b06f7aee91cb1deea0ff13bcfe7fb579363d3b",
      "new_mode": 33188,
      "new_path": "tools/membrowse_cli.py"
    }
  ]
}
