Record agreed namespace default composition

This commit is contained in:
2026-11-06 18:21:14 +00:00
parent f63af12097
commit 9076cb2c9c

View File

@@ -194,8 +194,9 @@ output-contract overrides and appended-message controls.
Design independent prompt, profile, and backend defaults together. Native Design independent prompt, profile, and backend defaults together. Native
`WithNamespaces` replaces all defaults on its new view; it has no partial-update `WithNamespaces` replaces all defaults on its new view; it has no partial-update
semantics. Omission must therefore have a deliberate meaning when a loader semantics. Under the agreed OD-3 design, opt-in selectors combine explicitly
already returns a scoped engine (OD-3). declared suite defaults with supplied overrides; they do not infer defaults
from a loader's engine view.
Qualified IDs pass through native selection unchanged. Captured references, Qualified IDs pass through native selection unchanged. Captured references,
configuration inspection, and namespace/collection inventories retain their configuration inspection, and namespace/collection inventories retain their
@@ -366,8 +367,11 @@ Default tests remain offline and independent of real credentials.
Resolve and cover duplicate-name precedence across the two input forms. Resolve and cover duplicate-name precedence across the two input forms.
- [ ] Output-contract override and appended-message flags remain outside this - [ ] Output-contract override and appended-message flags remain outside this
adoption, with their operator use cases retained in future work. adoption, with their operator use cases retained in future work.
- [ ] Namespace defaults, explicit clearing, qualified selections, and catalog - [ ] Opt-in namespace selectors combine declared suite defaults with supplied
filters are forwarded according to the selected design. fields in one native view update. Omission preserves each declared default;
explicit empty values clear only the selected default. Qualified selections
and catalog filters retain their native meanings. Custom scoped loaders remain
usable without the option.
- [ ] The full configuration suite retains six subcommands. Explanation - [ ] The full configuration suite retains six subcommands. Explanation
discovery and validation diagnostics are modes of existing commands, with discovery and validation diagnostics are modes of existing commands, with
capability-aware help and selected mode/flag combination checks. capability-aware help and selected mode/flag combination checks.
@@ -582,18 +586,27 @@ general-purpose request-building API follows from these CLI choices.
### OD-3: Namespace flags and loader defaults ### OD-3: Namespace flags and loader defaults
**Recommendation:** make the standard namespace selectors opt-in with explicit **Agreed:** make the standard namespace selectors opt-in with explicit
suite-owned namespace defaults. Compose supplied fields with those defaults, application-supplied defaults for prompts, profiles, and backends in the suite.
then apply one native `WithNamespaces` call. Loaders using this option leave `ckprompt` combines those defaults with the supplied CLI fields, then applies
default selection to that adapter. This gives omission and explicit empty one native `WithNamespaces` call. Loaders using this option leave namespace
values predictable meanings without trying to read private engine state. default selection to that adapter rather than relying on hidden engine-view
Without the option, existing scoped loaders continue as before. state. Without the option, existing scoped loaders continue as before.
**Alternative:** pass presence-aware namespace choices to an acquisition Omitting a selector preserves its declared default. Supplying a namespace
callback and let the application combine them with its existing loader defaults. replaces that default for the invocation; supplying an explicitly empty value
This accommodates applications whose defaults depend on domain input, but adds clears it. Each resource type is independent. For example, overriding the
consumer wiring and makes consistent behavior less automatic. Either design prompt namespace must preserve the declared profile and backend defaults.
must account for the native API replacing all three defaults at once. Qualified resource IDs pass through unchanged. Catalog namespace filters remain
separate from these resource-resolution defaults.
The standard option owns composition instead of requiring an application
callback to merge every selection. Applications needing custom namespace
selection can retain their own loading behavior without enabling the option.
**Remaining design:** select exact flag names, scoped convenience aliases,
and applicability to individual commands. These details are not settled by
agreement on default composition.
### OD-4: Configuration path and metadata presentation ### OD-4: Configuration path and metadata presentation