Files
deepseek-harness/packages/settings
Yichen Jiang 80ea5fcdf5 feat(settings): resolve namespaces per named scope
A settings namespace is now a kind; each registration is an instance
filed under the caller's nearest named scope (dsh-scope gains
createScope(..., { id }) and scopeIdOf). Instances resolve defaults →
composition base → global user section → scopes.<id>.<ns>. Global writes
fan out to every instance gated on its own resolved value; scoped writes
commit one instance. Revisions are per section so a scope nothing has
registered yet can still be written when the kind exists. describe(),
the controller verbs, and both events take an optional trailing scope.
Presets name their standing scopes preset/<id>; skill-filesystem is the
first consumer, resolving customSkillDirs per scope with live updates.
2026-09-04 03:03:43 +08:00
..

description, kind
description kind
Package map for the user-settings capability family: the ctx.settings service that resolves per-namespace configuration, and the YAML/JSON file provider that stores it. package-group

settings/ — user-editable configuration

English | 中文

Summary

The settings/ group makes plugin configuration user-editable: a plugin registers a named namespace with a schema, and users override values in one document without touching cordis.yml. User overrides win over the deployment's own configuration and schema defaults, and changes apply live. Two packages cover the capability: settings/ provides the settings service, and settings-file/ stores every namespace in one YAML or JSON document users can edit. Settings are optional: without a provider mounted, configuration stays exactly as composed.

Table of Contents


Packages

Two packages cover the capability; each child README owns the full contract, and the subsystem reference owns the exhaustive service surface.

Package Role ctx key
settings/ Settings service: register namespaces and read or change their values ctx.settings
settings-file/ Stores settings in one local YAML/JSON file and hot-publishes external edits registers ctx.settings

Start with the subsystem reference for the shared vocabulary, then the capability-seam split this family follows.

  • Settings subsystem reference — namespaces, layered resolution, descriptors, change commits, and the generated cordis surface.
  • Capability seams — the Service Definition / Service Provider / Consumer split this family follows.

Dev Note

Working context for maintainers — click to expand

None.