Skip to content

Refactor settings transaction boundary#43

Merged
KeyffMS merged 19 commits into
mainfrom
agent/refactor-settings-boundary
Jul 23, 2026
Merged

Refactor settings transaction boundary#43
KeyffMS merged 19 commits into
mainfrom
agent/refactor-settings-boundary

Conversation

@KeyffMS

@KeyffMS KeyffMS commented Jul 23, 2026

Copy link
Copy Markdown
Owner

Summary

  • extract SettingsNormalizer as the single migration, canonicalization, recovery, and reference-repair authority;
  • reduce SettingsStore to JSON persistence and atomic file replacement while preserving the primary save exception during cleanup;
  • publish defensive deep settings snapshots so UI/runtime code cannot mutate the committed in-memory state;
  • introduce read-only settings contracts for resolver/query paths;
  • replace broad ArgumentException/InvalidOperationException handling with explicit SettingsValidationException plus I/O failures;
  • report and rethrow unexpected transaction exceptions;
  • make failed generic commit values inaccessible and provide TryGetValue;
  • add transaction-boundary regression tests and update architecture documentation;
  • advance product metadata to 0.5.0.32.

Validation

Windows CI must pass the complete build, test suite, architecture checks, and self-contained publish validation.

Closes #35
Closes #36
Closes #39

@KeyffMS
KeyffMS merged commit bccd6d2 into main Jul 23, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant