Lab faults put back only their own settings #150

Manually merged
vinny merged 0 commits from vinny/settings-restore into master 2026-10-17 12:19:11 -04:00 AGit
Owner

Summary

  • The lab runner now keeps the original value of each CMOnet setting it changes, not a copy of the whole settings document. A fault puts back only the fields it changed (the provider outage: llm_endpoint, llm_auth_mode); the trial's cleanup puts back the rest.
  • A whole settings document kept by an earlier runner is still put back whole, both at startup and in cleanup.
  • Why: in lab run 10, trial 8 (tpl-resilience-provider-socket) pointed CMOnet at the runner's socket relay at the start. When the 10-minute provider outage ended, the runner put back the whole document from before that change, socket port included. CMOnet reconnected straight to CMO, so the trial's two socket stalls would have stalled nothing. The trial was stopped at the first stall (game 08:30) and will be run again.

Test plan

  • tests/test_laboratory_runs.py::test_a_fault_puts_back_only_its_own_settings
  • tests/test_laboratory_runs.py
  • Full tools/check.py --rev in the background

🤖 Generated with Claude Code

## Summary - The lab runner now keeps the original value of each CMOnet setting it changes, not a copy of the whole settings document. A fault puts back only the fields it changed (the provider outage: `llm_endpoint`, `llm_auth_mode`); the trial's cleanup puts back the rest. - A whole settings document kept by an earlier runner is still put back whole, both at startup and in cleanup. - Why: in lab run 10, trial 8 (tpl-resilience-provider-socket) pointed CMOnet at the runner's socket relay at the start. When the 10-minute provider outage ended, the runner put back the whole document from before that change, socket port included. CMOnet reconnected straight to CMO, so the trial's two socket stalls would have stalled nothing. The trial was stopped at the first stall (game 08:30) and will be run again. ## Test plan - [x] `tests/test_laboratory_runs.py::test_a_fault_puts_back_only_its_own_settings` - [x] `tests/test_laboratory_runs.py` - [ ] Full `tools/check.py --rev` in the background 🤖 Generated with [Claude Code](https://claude.com/claude-code)
The runner kept CMOnet's whole settings document at the first change, the
trial's relay port, and a provider outage's end put all of it back. In lab
run 10, trial 8 (tpl-resilience-provider-socket), CMOnet then left the relay
and talked to CMO directly, so the trial's socket stalls would have stalled
nothing; the trial was stopped. Each changed field's original is now kept,
a fault puts back only its own fields, and the trial's cleanup puts back the
rest. A whole document kept by an earlier runner is still put back whole.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Version 0.7.93 (settings-restore)
Some checks failed
check / check (ubuntu-latest) (push) Has been cancelled
check / check (windows-latest) (push) Has been cancelled
check / check (windows-latest) (pull_request) Has been cancelled
check / check (ubuntu-latest) (pull_request) Has been cancelled
eb3de41f43
vinny manually merged commit eb3de41f43 into master 2026-10-17 12:19:11 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
vinny/CMOnet!150
No description provided.