Repository navigation
feat: unify layered configuration and deployment policy - #362
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What and why
Make deployment defaults, saved settings, project overrides, and enforced environment values follow one documented configuration model. Users can reset saved overrides without copying or losing deployment defaults. Server plugins receive resolved settings from PI WEB rather than implementing their own configuration readers.
Settings shows configuration sources and enforcement, preserves browser choices hidden by policy, and resolves declared settings containers field by field while replacing individual array/dictionary values as a whole.
Deployment compatibility needs attention: boolean policy inputs now require explicit true/false or 1/0 values, misspelled known container fields fail visibly, and the updated Settings UI requires PATCH-capable servers. Config saves require a writable containing directory. Daemon-loaded changes require a manual restart, which interrupts active sessions and terminals.
This merges the implementation for use and observation before publication; it does not publish a release.
Technical details and verification
PI_WEB_DEFAULTS_CONFIG, core environment overrides, source/enforcement metadata, sparse updates, and deletion-based resets.Local verification before integrating current main:
After integrating current main, the affected AppContextBar tests (14), scoped lint, cached typecheck, and whitespace checks passed. GitHub CI must pass before merging. No hosting session-daemon restart was performed.
Automatically generated by the user's AI workflow.