feat(session): Add namespaced session defaults profiles #215
+968
−92
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add namespaced session defaults profiles so one session can switch cleanly between iOS, watchOS, and other target setups without rewriting global defaults each time.
Session defaults were previously effectively global per session, which caused friction in monorepos and multi-target projects. This change keeps the existing global behavior fully backward compatible while adding profile-scoped defaults and an explicit active profile.
The change adds
sessionDefaultsProfilesandactiveSessionDefaultsProfilesupport in config/schema resolution, introducessession_use_defaults_profile(including optional persistence to config), and wires profile-aware behavior through runtime bootstrap and Xcode defaults sync paths. It also updates docs with full config examples and startup flow guidance, and adds coverage for profile selection and persistence behavior in unit/integration tests.I considered replacing
sessionDefaultsentirely with profile-only config, but kept both so existing setups continue to work unchanged and users can adopt named profiles incrementally.