The mutate seam's root-path ops, its non-array rejection, and the recursion into an existing nested object were unexercised, as was the whole containment side of the settings/document-updated fan-out and the before-snapshot repair of a section a hand edit left non-object. The settings.mutate route had no round trip at all: neither the client method nor the handler entry ran.
settings/ — user-settings capability family
English | 中文
The user-settings seam and its providers. The interface package owns the abstract Settings service — namespace registration, layered resolution, and change commits; providers implement raw-document storage and push external edits through the seam. All product packages.
| Package | Role | ctx key |
|---|---|---|
settings/ |
Settings seam: namespace registry, layered resolution, commit events | ctx.settings |
settings-local/ |
File-backed provider (settings.yaml/.json) with hot reload and comment-preserving write-back |
(registers ctx.settings) |
The interface lives at settings/settings/; providers are flat siblings. A network configuration-center provider (for example a nacos-style backend) joins here and registers on ctx.settings. Composition config stays in cordis.yml: a settings namespace carries only the user-editable subset, resolved as schema defaults, then the registrant's composition base, then the user document.