settings: make mergeReviewProfiles pure (no in-place mutation)
main·
Commit

mergeReviewProfiles mutated its base map in place before returning it. Today's callers tolerate it (base is always the freshly loaded settings map), but an in-place merge helper is a footgun. Build and return a new map, leaving both inputs untouched. Adds a test for purity + override precedence.
Entire-Checkpoint: 28dcc15e4c3b
Checkpoints
Checkpoint 1