Audit finding
SettingsNormalizer is a large ordered procedure responsible for:
- schema advancement;
- built-in profile recovery/canonicalization;
- custom profile identity, transform, tuning and name normalization;
- overlay-scope canonicalization;
- application string/identity recovery;
- duplicate removal;
- legacy-effect migration;
- primary and menu profile-reference repair;
- final collection replacement/change tracking.
The ordering is important but implicit, and adding a new schema rule expands the same class.
Target state
Retain one normalization coordinator, but represent the ordered work as small explicit idempotent passes with focused tests. Keep the pipeline simple—an ordered list/delegates or small internal pass types are sufficient.
The built-in-profile pass should consume the canonical registry from the corresponding SPoT issue.
Acceptance criteria
Audit finding
SettingsNormalizeris a large ordered procedure responsible for:The ordering is important but implicit, and adding a new schema rule expands the same class.
Target state
Retain one normalization coordinator, but represent the ordered work as small explicit idempotent passes with focused tests. Keep the pipeline simple—an ordered list/delegates or small internal pass types are sufficient.
The built-in-profile pass should consume the canonical registry from the corresponding SPoT issue.
Acceptance criteria
SettingsStore.Normalizeforwarding-only API is removed or justified.