# 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 [ ] - [x] Task: Identify and verify `odroid8` LiteFS data path - [x] Run `nomad alloc status` to find the volume mount for `odroid8` - [x] Provide the user with the exact host path to the LiteFS data - [x] Task: Guide user through manual cleanup - [x] Provide steps to stop the allocation - [x] Provide the `rm` command to clear the LiteFS metadata - [x] 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 [x] - [x] Task: Final verification run of the script - [x] Task: Verify cluster health in Consul and LiteFS API - [x] Task: Conductor - User Manual Verification 'Phase 3: Final Verification' (Protocol in workflow.md)