)]}'
{
  "commit": "9bccdff9ecd4421c570508e46cb2b84e20a79fda",
  "tree": "276cbde58243cb50fa46647251481cef3cf478f3",
  "parents": [
    "c9b056ee99f039f6a5ae3daa7a6a0c203ba45c18"
  ],
  "author": {
    "name": "Anthony Rocha",
    "email": "anthony.rocha@amd.com",
    "time": "Mon Jul 27 06:42:59 2026 -0700"
  },
  "committer": {
    "name": "Anthony Rocha",
    "email": "116300062+rusty1968@users.noreply.github.com",
    "time": "Wed Aug 05 14:05:26 2026 -0700"
  },
  "message": "orchestrator-sm: validated Chain newtype for construction\n\nIntroduce Chain\u003cN\u003e with a TryFrom that validates the chain of trust at the\nboundary (non-empty, unique ids, depends_on exists and is strictly earlier,\nlength fits u8). Orchestrator/Rot::new take Chain\u003cN\u003e instead of a raw\nheapless::Vec, so the storage representation is no longer part of the public\nconstructor. Add ChainError tests.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d527a8047ea228c02c0d3f481183e0d6046e8072",
      "old_mode": 33188,
      "old_path": "services/orchestrator/sm/src/lib.rs",
      "new_id": "d4338c7f7710111ee29c63c7cf48719f25d47216",
      "new_mode": 33188,
      "new_path": "services/orchestrator/sm/src/lib.rs"
    },
    {
      "type": "modify",
      "old_id": "ba303e97f1fb8f9c79ddf62c364fe433df4f978c",
      "old_mode": 33188,
      "old_path": "services/orchestrator/sm/src/tests.rs",
      "new_id": "f17c118250b6a24ea03b2661c4c838b3d67a4016",
      "new_mode": 33188,
      "new_path": "services/orchestrator/sm/src/tests.rs"
    }
  ]
}
