# Plan: Fix Odroid8 and Script Robustness (`fix_odroid8_and_script`) ## Phase 1: Script Robustness [x] [checkpoint: 860000b] - [x] Task: Update `nomad_client.py` to handle subprocess errors gracefully - [x] Write tests for handling Nomad CLI absence/failure - [x] Update implementation to return descriptive error objects or `None` without crashing - [x] Task: Update aggregator and formatter to handle Nomad errors - [x] Update `cluster_aggregator.py` to gracefully skip Nomad calls if they fail - [x] Update `output_formatter.py` to display "Nomad Error" in relevant cells - [x] Add a global "Nomad Connectivity Warning" to the summary - [x] Task: Conductor - User Manual Verification 'Phase 1: Script Robustness' (Protocol in workflow.md) ## Phase 2: Odroid8 Recovery [ ] - [ ] Task: Identify and verify `odroid8` LiteFS data path - [ ] Run `nomad alloc status` to find the volume mount for `odroid8` - [ ] Provide the user with the exact host path to the LiteFS data - [ ] Task: Guide user through manual cleanup - [ ] Provide steps to stop the allocation - [ ] Provide the `rm` command to clear the LiteFS metadata - [ ] Provide steps to restart and verify the node - [ ] Task: Conductor - User Manual Verification 'Phase 2: Odroid8 Recovery' (Protocol in workflow.md) ## Phase 3: Final Verification [ ] - [ ] Task: Final verification run of the script - [ ] Task: Verify cluster health in Consul and LiteFS API - [ ] Task: Conductor - User Manual Verification 'Phase 3: Final Verification' (Protocol in workflow.md)