)]}'
{
  "commit": "4c52a85f7f63cc8667c06eaa301eb56abc344551",
  "tree": "ec0bce71308d3bcbf411da6272ac49f842de7f05",
  "parents": [
    "a905ba563265ce88b78d0b0d2a91e860d52677e4"
  ],
  "author": {
    "name": "Anthony Rocha",
    "email": "anthony.rocha@amd.com",
    "time": "Mon Jul 27 19:19:58 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: add degraded-mode isolation/recovery-failure reports\n\nCSA\u0027s degraded-mode clause requires two things when a component is taken\nout of service: isolate it, and report the failure through the platform\nmanagement interface. The reducer did only the first — a BMC had no\nin-band signal that the platform was running degraded.\n\nAdd `Effect::ReportIsolated` (emitted once per component at the moment it\nis gated, alongside its `AssertReset`) and `Effect::ReportRecoveryFailed`\n(emitted for the `Required` component whose exhausted recovery forces the\nhalt, before the machine latches). Both emission points sit in the\nexisting `is_gated` guards, so reporting is idempotent per component and\nthe runtime-corruption and recovery-exhaustion paths report identically.\n\nPairing a report with every `AssertReset` raises the worst-case\nsingle-`Sink` effect count from `N + 2` to `2N + 2`; the compile-time\nfloor moves with it, so an under-sized board fails to build.\n\nCo-Authored-By: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "341906d0086e6ca666a4728ff99c12490ffe6d7f",
      "old_mode": 33188,
      "old_path": "services/orchestrator/sm/src/lib.rs",
      "new_id": "edf80f72bfa9bdf14b4570d0eabcdcb9e69ffcf4",
      "new_mode": 33188,
      "new_path": "services/orchestrator/sm/src/lib.rs"
    },
    {
      "type": "modify",
      "old_id": "bd51ee4c1c9a73b7caf2ff17dcd622a9043832ef",
      "old_mode": 33188,
      "old_path": "services/orchestrator/sm/src/model.rs",
      "new_id": "e71842c2992e0e3964a1407012651806b9ab19bf",
      "new_mode": 33188,
      "new_path": "services/orchestrator/sm/src/model.rs"
    }
  ]
}
