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

main

Commit

dipree2mo ago

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

Checkout the hand off doc that I just added.

PiOpus 4.8
View session
Checkpoint 1