)]}'
{
  "commit": "40dbf9ef69456231e0051bb1651a668f3d3f97f8",
  "tree": "0e0fae2db8c39092ea03fff09d75eabc5558c8f5",
  "parents": [
    "2ca67888f1d916fbda9437e623138850e9e79737"
  ],
  "author": {
    "name": "Christina Quast",
    "email": "christina.quast@9elements.com",
    "time": "Thu Aug 06 10:55:08 2026 +0200"
  },
  "committer": {
    "name": "Anthony Rocha",
    "email": "116300062+rusty1968@users.noreply.github.com",
    "time": "Tue Aug 11 16:04:33 2026 -0700"
  },
  "message": "orchestrator: Leave retry and terminal decisions to the orchestrator\n\nWalkVerdict now reports observation only: Failed{checkpoint, cause}\nreplaces Retry/Dead/retries_left — the state machine\u0027s\nComponentStatus.retry and Recovering→RecoveryFailed path already own\nthose decisions, and a second counter could only agree or disagree\nwith the first. max_retries leaves the table for the same reason: a\nretry re-resets the device and re-runs the whole walk, so budgets are\nper boot attempt, owned where boot attempts are owned. The device\u0027s\nown judgment still flows up as FailureCause::{TimedOut,\nDeviceRetriable, DeviceFatal} — the one input the retry decision\nneeds.\n\nAssisted-by: Claude:claude-fable-5\nSigned-off-by: Christina Quast \u003cchristina.quast@9elements.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "28de7263bd7797d2434fa81b360113070382f5f4",
      "old_mode": 33188,
      "old_path": "services/orchestrator/capabilities/src/boot_watch.rs",
      "new_id": "6c05cc88fe0c1775bf60a298d05d8a94fbc07af9",
      "new_mode": 33188,
      "new_path": "services/orchestrator/capabilities/src/boot_watch.rs"
    },
    {
      "type": "modify",
      "old_id": "8a65574536aa291765035b06b1f3b7be0f1f176b",
      "old_mode": 33188,
      "old_path": "services/orchestrator/capabilities/src/lib.rs",
      "new_id": "85f7019eb00d1b979bdaad55b0a1f3ee9f8006cd",
      "new_mode": 33188,
      "new_path": "services/orchestrator/capabilities/src/lib.rs"
    },
    {
      "type": "modify",
      "old_id": "f4144dc28ad0f49b03d67778f6e938d12f5a4a32",
      "old_mode": 33188,
      "old_path": "services/orchestrator/config/src/lib.rs",
      "new_id": "ffc34abb89cbc508d03a7ff34aebc33cd530d883",
      "new_mode": 33188,
      "new_path": "services/orchestrator/config/src/lib.rs"
    },
    {
      "type": "modify",
      "old_id": "a5fa71a9d3b0fdfbb5cf56fb4b00ec2d54707755",
      "old_mode": 33188,
      "old_path": "target/mock/devices.rs",
      "new_id": "6008e1b30cd12ec113c402a1059c2a1dff2940e9",
      "new_mode": 33188,
      "new_path": "target/mock/devices.rs"
    }
  ]
}
