Skip to content

feat(config): settings framework - #62

Open
Vuks69 wants to merge 1 commit into
Neon-Genesis-Linux:mainfrom
Vuks69:config-2
Open

Vuks69 wants to merge 1 commit into
Neon-Genesis-Linux:mainfrom
Vuks69:config-2

Conversation

@Vuks69

@Vuks69 Vuks69 commented Nov 12, 2026

Copy link
Copy Markdown
Member

Add a per-scope settings framework the config feature builds on: a
registry of ScopeDesc values, generic Get/Update/Document/Reset, a
per-scope cache, and a default-overlay that decodes a stored document
onto a fresh copy of the registered defaults. A guild that configured
nothing reads the defaults; a document that will not decode or fails
validation logs and falls back rather than breaking a command.

Add the db layer that owns the guild settings_json document:
GetGuildDocument, SetGuildDocument (whole-document replace), and the
json_set/json_remove role-path helpers, so concurrent role edits from
different admins cannot clobber each other.

Idea and architecture designed by Human Intelligence.
Local Tiel Coder model was used to implement code changes.

Add a per-scope settings framework the config feature builds on: a
registry of ScopeDesc values, generic Get/Update/Document/Reset, a
per-scope cache, and a default-overlay that decodes a stored document
onto a fresh copy of the registered defaults. A guild that configured
nothing reads the defaults; a document that will not decode or fails
validation logs and falls back rather than breaking a command.

Add the db layer that owns the guild settings_json document:
GetGuildDocument, SetGuildDocument (whole-document replace), and the
json_set/json_remove role-path helpers, so concurrent role edits from
different admins cannot clobber each other.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant