- In triage_score.py:
- Added QUEUE_BACKUP_FILE constant for .loop/queue.json.bak
- Before writing queue.json, save backup of current valid file
- After writing, validate by re-reading and parsing
- If validation fails, restore from backup or write empty list
- In loop_guard.py:
- Added separate exception handling for JSONDecodeError vs OSError
- Logs warnings when queue.json is corrupt or unreadable
- Returns empty list gracefully instead of crashing
- Added 12 new unit tests:
- tests/scripts/test_triage_score_validation.py (6 tests)
- tests/loop/test_loop_guard_corrupt_queue.py (6 tests)
Fixes#952