)]}'
{
  "commit": "f3d021460ae5de0551ad5a788cb2b05005dd7ca4",
  "tree": "c6881b659fee7d71a1ae9f44fa1f7a44d44ff64f",
  "parents": [
    "6edbdc88da72a0fdf9cef734d550f46257550d48"
  ],
  "author": {
    "name": "Ha Thach",
    "email": "thach@tinyusb.org",
    "time": "Tue Sep 29 13:16:14 2026 +0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Sep 29 13:16:14 2026 +0700"
  },
  "message": "hil: remove the D-state/wedge containment that never fired (#4018)\n\nEvery \"USB subsystem is wedged\" verdict and pool abandon in CI logs came\nfrom the usbtest new_id registry contention fixed by #3955; the markers,\npost-pool recovery, strays and abandon exit never fired after it.\n\n- usbtest confirms a hang by reaping its own child, then tries one\n  recovery step; only the battery\u0027s JSON verdict latches board-wedged\n- drop wedged-board markers, post-pool recovery, pool containment and\n  the abandon path; keep the bounded pool drain and partial report\n- trim the sysfs strand memo to the inode memo and its per-path cap\n- keep convoy-safe flashers, flasher_recover and the manual\n  usb-kernel-recover playbook",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c55b29803e4fb1fc9c5171dc18aeef9c2c3c2926",
      "old_mode": 33188,
      "old_path": ".claude/skills/hil/SKILL.md",
      "new_id": "1cca161d1e085e34429e662b33b370b205a63381",
      "new_mode": 33188,
      "new_path": ".claude/skills/hil/SKILL.md"
    },
    {
      "type": "modify",
      "old_id": "ff1afc33ddeea819f68ee5f76386d8f952c05c1d",
      "old_mode": 33188,
      "old_path": ".claude/skills/hil/scripts/hil_remote.py",
      "new_id": "50513724af6790c59d2f4f8d839638c616108414",
      "new_mode": 33188,
      "new_path": ".claude/skills/hil/scripts/hil_remote.py"
    },
    {
      "type": "modify",
      "old_id": "adb47afa0320da6a5b03743af474829f1fed4aed",
      "old_mode": 33188,
      "old_path": ".claude/skills/usbtest/SKILL.md",
      "new_id": "36871bea249f80204a08617fcc254419bdf22816",
      "new_mode": 33188,
      "new_path": ".claude/skills/usbtest/SKILL.md"
    },
    {
      "type": "modify",
      "old_id": "e6f07948d89a6162c520b9413227005535729fdb",
      "old_mode": 33188,
      "old_path": ".github/workflows/build.yml",
      "new_id": "0d025e991da797b27470483e9b2d2d23c3c90b8f",
      "new_mode": 33188,
      "new_path": ".github/workflows/build.yml"
    },
    {
      "type": "modify",
      "old_id": "80942b1a90aa5f3dfaefad63b67f323f637eb564",
      "old_mode": 33188,
      "old_path": "docs/superpowers/followup/hil-farm.md",
      "new_id": "a8d39c30361d4e2fb34e1a81068f21af0b1df309",
      "new_mode": 33188,
      "new_path": "docs/superpowers/followup/hil-farm.md"
    },
    {
      "type": "delete",
      "old_id": "a34848f06dce6faf82228c282533bd6f890a0bfc",
      "old_mode": 33188,
      "old_path": "docs/superpowers/specs/2026-07-30-hil-usbtest-fleet-wedge-design.md",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "d78d0f2204c29cf79d8441d398f7b698a6171c7e",
      "old_mode": 33188,
      "old_path": "test/hil/helper/hil_health.py",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "af740dd8f92e4ac46a81d7d66a5ce8fd8425b665",
      "old_mode": 33261,
      "old_path": "test/hil/helper/hil_lock.py",
      "new_id": "77cd3499ede1d6fd4c9ead98e6f0604f2ee96314",
      "new_mode": 33261,
      "new_path": "test/hil/helper/hil_lock.py"
    },
    {
      "type": "modify",
      "old_id": "bd18e92796a06864f68bfe56baa6e39c084dc365",
      "old_mode": 33188,
      "old_path": "test/hil/helper/hil_pool_check.py",
      "new_id": "68ebdd6c93642fcf50ccb5d27fe213785bc0a778",
      "new_mode": 33188,
      "new_path": "test/hil/helper/hil_pool_check.py"
    },
    {
      "type": "delete",
      "old_id": "704549c7dc44edd019eb079b9697eee7bb5328fe",
      "old_mode": 33188,
      "old_path": "test/hil/helper/hil_recover.py",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "eb9d826f943257375d4cf1df3e2f4b5dde201be8",
      "old_mode": 33188,
      "old_path": "test/hil/helper/hil_report.py",
      "new_id": "5a37515ffa838056468079c0eca842012f4ccbe4",
      "new_mode": 33188,
      "new_path": "test/hil/helper/hil_report.py"
    },
    {
      "type": "modify",
      "old_id": "936c75964783b3b9fed02e4a88f333d07ba992ab",
      "old_mode": 33188,
      "old_path": "test/hil/helper/hil_util.py",
      "new_id": "986db2b8f83b12f5efc64934439088cab4d133de",
      "new_mode": 33188,
      "new_path": "test/hil/helper/hil_util.py"
    },
    {
      "type": "modify",
      "old_id": "ef5472a75d3cf17cd67cb50b8550a921dba37bc5",
      "old_mode": 33261,
      "old_path": "test/hil/hil_test.py",
      "new_id": "1462b29c6e3a579c4107eb9cdae75a1ee1fb276f",
      "new_mode": 33261,
      "new_path": "test/hil/hil_test.py"
    },
    {
      "type": "modify",
      "old_id": "fa8e5bf7e4e69a23d1015bf4f3c4338115e3fb09",
      "old_mode": 33188,
      "old_path": "test/hil/test/test_ci_select.py",
      "new_id": "572754728f7c060fa9a694ac7e34edcebb260b4a",
      "new_mode": 33188,
      "new_path": "test/hil/test/test_ci_select.py"
    },
    {
      "type": "modify",
      "old_id": "08d13b5217ac6e64932baaf3b5d45ffc40e65338",
      "old_mode": 33188,
      "old_path": "test/hil/test/test_hil_bounded.py",
      "new_id": "700f656ea91df4e13a107f3c20bf8eb41c2204a6",
      "new_mode": 33188,
      "new_path": "test/hil/test/test_hil_bounded.py"
    },
    {
      "type": "delete",
      "old_id": "e910989ffb5c24cdcbba3d6ae896797b0ff176c5",
      "old_mode": 33188,
      "old_path": "test/hil/test/test_hil_health.py",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "651e5633dad8161925653fbc6bff2436bba1eecc",
      "old_mode": 33188,
      "old_path": "test/hil/test/test_hil_recover.py",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "2430a0baed40980377d711bb260a5de1299a6789",
      "old_mode": 33188,
      "old_path": "test/hil/test/test_hil_report.py",
      "new_id": "4a87c98f78fff2e2b1f617906ac05d533a723f89",
      "new_mode": 33188,
      "new_path": "test/hil/test/test_hil_report.py"
    },
    {
      "type": "modify",
      "old_id": "54eadb2b23f79610809aa3233e077e2fb723f6ef",
      "old_mode": 33188,
      "old_path": "test/hil/test/test_hil_util.py",
      "new_id": "d4d617f7518cf3e25ebfd2a5baff6c7664ecd9c4",
      "new_mode": 33188,
      "new_path": "test/hil/test/test_hil_util.py"
    },
    {
      "type": "modify",
      "old_id": "2896e0032e72013278539ea06e82d933dae09570",
      "old_mode": 33188,
      "old_path": "test/hil/test/usbtest_harness.py",
      "new_id": "4f2e45437833c0a40ad62192b2ba0acabc947f72",
      "new_mode": 33188,
      "new_path": "test/hil/test/usbtest_harness.py"
    },
    {
      "type": "modify",
      "old_id": "f52b938ee92194a97f8b6b83e06983a77ccd3463",
      "old_mode": 33188,
      "old_path": "test/hil/tinyusb.json",
      "new_id": "0bed71f029eee63b9809c292f79a45b8c67a71b5",
      "new_mode": 33188,
      "new_path": "test/hil/tinyusb.json"
    },
    {
      "type": "modify",
      "old_id": "887f6b4d78998301a78ce54139ec98e8d4258ce8",
      "old_mode": 33261,
      "old_path": "test/hil/usbtest.py",
      "new_id": "e2306140f66e2e23fa4cbc4d819993a5b842ba5b",
      "new_mode": 33261,
      "new_path": "test/hil/usbtest.py"
    }
  ]
}
