fix(settings): unblock gateway reload with adaptive skills enabled #334

Merged
karsten merged 1 commit from fix/skill-default-settings-boundary into main 2026-11-11 07:36:47 +00:00
Owner

Found during operator-authorized Slack lifecycle rollout (Plugins #85): CLI passes installation skills.adaptive into SettingsService; strict combined overlay validation rejects that installation-only key. Legacy reload silently retains old gateway desired state; drop-in settings/mutations are also blocked. Normalize ONLY this known trusted installation field at constructor boundary, leaving config.skills.adaptive unchanged and disk validation strict. Two regression scenarios cover legacy/drop-ins, actual gateway desired reload, mutable overlay opt-in rejection and installation config preservation. 29 targeted tests pass; TypeScript and diff check clean. No adaptive opt-in, credential, permission or update-admission bypass.

Found during operator-authorized Slack lifecycle rollout (Plugins #85): CLI passes installation skills.adaptive into SettingsService; strict combined overlay validation rejects that installation-only key. Legacy reload silently retains old gateway desired state; drop-in settings/mutations are also blocked. Normalize ONLY this known trusted installation field at constructor boundary, leaving config.skills.adaptive unchanged and disk validation strict. Two regression scenarios cover legacy/drop-ins, actual gateway desired reload, mutable overlay opt-in rejection and installation config preservation. 29 targeted tests pass; TypeScript and diff check clean. No adaptive opt-in, credential, permission or update-admission bypass.
Author
Owner

Full post-PR suite passed: 1834 passed, 1 existing skip, 0 failed; TypeScript and diff checks clean. Slack Plugins #85 is merged and already live on native Karsten: explicit operator maintenance checkpoint proved no business work, graceful SIGTERM and exact module hash activation. Real authenticated update admission now idle, blockers=[]. No manufactured lease or weakening of adaptive overlay validation.

Full post-PR suite passed: 1834 passed, 1 existing skip, 0 failed; TypeScript and diff checks clean. Slack Plugins #85 is merged and already live on native Karsten: explicit operator maintenance checkpoint proved no business work, graceful SIGTERM and exact module hash activation. Real authenticated update admission now idle, blockers=[]. No manufactured lease or weakening of adaptive overlay validation.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
harness/core!334
No description provided.