)]}'
{
  "commit": "0fa0ece024fecae0847459b5949c66f40fcc6e11",
  "tree": "d1cc160b3a0c34c96869a407c86e0e080c373bf1",
  "parents": [
    "208ce50e0d5c08eead9c854d73fd397748e1413e"
  ],
  "author": {
    "name": "hathach",
    "email": "thach@tinyusb.org",
    "time": "Thu Aug 20 18:30:45 2026 +0700"
  },
  "committer": {
    "name": "hathach",
    "email": "thach@tinyusb.org",
    "time": "Thu Aug 20 18:30:45 2026 +0700"
  },
  "message": "hil: address Copilot review — loud extraction markers, exit-visible variant warnings\n\nThe workflow-logic harness slices hil-validate.js between marker strings (the body is not\na module; the runtime wraps it, so markers are the only handle). A renamed marker used to\nproduce a garbage slice and a confusing ReferenceError; it now fails naming the missing\nmarker, proven by mutating the marker and watching the message.\n\nThe variant-warning loop in hil_ci.sh read variant_names through a process substitution --\nthe exact exit-status blindness the comment in resolve_build_dirs warns about, two\nfunctions earlier in the same file. A plain command-substitution assignment is visible to\nset -e, so a malformed roster now aborts instead of silently skipping the warnings.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "80f37b27d274f3492e235760fce7b7c37b2aa60f",
      "old_mode": 33188,
      "old_path": ".claude/workflows/test-hil-validate.mjs",
      "new_id": "db73095f6a917c306d1febcf3e7f401e3f57e6b7",
      "new_mode": 33188,
      "new_path": ".claude/workflows/test-hil-validate.mjs"
    },
    {
      "type": "modify",
      "old_id": "f474c30550d0591c5ca87ccb8f10c2c6b9399f85",
      "old_mode": 33188,
      "old_path": "test/hil/hil_ci.sh",
      "new_id": "66f4e48d4310e8cd7c6bdd27701676d20bda46a0",
      "new_mode": 33188,
      "new_path": "test/hil/hil_ci.sh"
    }
  ]
}
