)]}'
{
  "commit": "1f24a870658f7b857447cef99f6ff0c35a8115cd",
  "tree": "7f669c05943685e2b4b65a172b26611b1d33dc38",
  "parents": [
    "fb1dc9112b2f6b66d54aaf39ac030dae7153c822"
  ],
  "author": {
    "name": "Kim Morrison",
    "email": "kim@tqft.net",
    "time": "Mon Mar 23 23:09:09 2026 +0000"
  },
  "committer": {
    "name": "Kim Morrison",
    "email": "kim@tqft.net",
    "time": "Mon Mar 23 23:09:09 2026 +0000"
  },
  "message": "feat: add TraceData.headerContent? for pre-emoji header access\n\n`withTraceNodeBefore` prepends `TraceResult.toEmoji` to the header\nbefore storing it in the trace tree. This makes it difficult for\nprogrammatic consumers to compare headers across trace runs, since\nthe same check gets different emoji prefixes depending on\nsuccess/failure.\n\nAdd `headerContent? : Option MessageData` to `TraceData` that stores\nthe original pre-emoji header content. This is purely additive — the\nemoji-prefixed header continues to be stored as before, and all\nexisting trace output is unchanged.\n\nCloses #13069\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a7f76198c582d1d2032bb24d13ad4cb7a272fa57",
      "old_mode": 33188,
      "old_path": "src/Lean/Message.lean",
      "new_id": "316dd932e6807102d56c1f1e58e98638b016e07e",
      "new_mode": 33188,
      "new_path": "src/Lean/Message.lean"
    },
    {
      "type": "modify",
      "old_id": "6f1f0a378ea022bdde788165aef90522e7da2af0",
      "old_mode": 33188,
      "old_path": "src/Lean/Util/Trace.lean",
      "new_id": "13f986ea6bfafcd781604c3cbb34b2e6d59b973e",
      "new_mode": 33188,
      "new_path": "src/Lean/Util/Trace.lean"
    }
  ]
}
