feat(#751): extensible settings — track handled keys, add filter, support github_pat#752
Merged
chubes4 merged 1 commit intoExtra-Chill:mainfrom Mar 9, 2026
Conversation
…filter, support github_pat Settings update ability now tracks which input keys were actually processed. Unknown keys are reported as unhandled_keys in the response instead of being silently ignored. Extensions can hook into the datamachine_update_settings filter to handle their own keys. - Add github_pat and github_default_repo to core settings handler + schema - Add datamachine_update_settings filter for extension-owned keys - CLI set command now errors when a key was not recognized - Add 5 tests covering new behavior
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.
Summary
executeUpdateSettings) now tracks which input keys were actually processed and reports unrecognized keys asunhandled_keysin the responsedatamachine_update_settingsfilter so extensions can handle their own settings keys without modifying coregithub_patandgithub_default_repoto core settings handler and input schema (GitHubAbilities already reads these from PluginSettings)setcommand now errors when a key was not recognized, instead of silently reporting successChanges
inc/Abilities/SettingsAbilities.php— track$handled_keys, add GitHub settings, add filter hook, returnunhandled_keysinc/Cli/Commands/SettingsCommand.php— checkunhandled_keysand error if the CLI key was ignoredtests/Unit/Abilities/SettingsAbilitiesTest.php— 5 new tests: github_pat, github_default_repo, unhandled keys detection, known keys have no unhandled, extension via filterTesting
All 24 settings ability tests pass. All 4 CLI settings tests pass. 13 pre-existing failures on main unchanged.
Closes #751