)]}'
{
  "commit": "eefb8b2ce8d8e1de832e1033408b3ccb122f73b5",
  "tree": "53c49eea230cdbf2bc4b09ae136388dd3eb71d18",
  "parents": [
    "5738e0ad057af2f241a1d79cbaeb9e52c451bfb3"
  ],
  "author": {
    "name": "Rene Scheepers",
    "email": "rene.scheepers@shopify.com",
    "time": "Tue Jun 16 12:30:23 2026 +0200"
  },
  "committer": {
    "name": "Rene Scheepers",
    "email": "rene.scheepers@shopify.com",
    "time": "Tue Jun 16 12:30:23 2026 +0200"
  },
  "message": "Add ActionReason to ResourceChange\n\nTerraform emits an action_reason on each resource change in the JSON plan\nformat, explaining why the planned actions were chosen — most notably\n\"replace_because_tainted\" when a resource is being replaced because its prior\nobject was tainted. The library did not expose this field, so consumers had no\nway to distinguish, for example, a tainted replacement from any other\nreplacement.\n\nThis adds a typed ActionReason field (with constants for the documented values)\nand a test fixture covering a tainted replacement.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "887520039b1502c4e949519abe8a48e7a4b66844",
      "old_mode": 33188,
      "old_path": "plan.go",
      "new_id": "3b036c116bbb70c662f56944204ef56ba6ecf3f8",
      "new_mode": 33188,
      "new_path": "plan.go"
    },
    {
      "type": "modify",
      "old_id": "223567860ff0650668caecd6eedbc5667d835fa3",
      "old_mode": 33188,
      "old_path": "plan_test.go",
      "new_id": "e38b6d6d6237cf63de4d2a23fc7ddf575958695f",
      "new_mode": 33188,
      "new_path": "plan_test.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1b1ad1429a633de6164e50a0b5b0df0dce7c27c0",
      "new_mode": 33188,
      "new_path": "testdata/action_reason/plan.json"
    }
  ]
}
