Resolve inheritance between identified records
This commit is contained in:
@@ -21,7 +21,7 @@ sanitized shapes using only ConfigKit and the Go standard library:
|
||||
| Named presets | One-load sibling inheritance, explicit false, nested destination resolution, and source/derivation inspection | Choosing and executing a preset |
|
||||
| Effective configuration diff | Same-type frozen effective comparisons for two selected files or base-versus-overlay impact | Source/options selection and consumer-owned safe presentation |
|
||||
| Shared source-version checks | One `Definition.Version` policy for accepted declarations across participating source documents, with optional or required declarations and sanitized evidence | Choosing which declarations the application accepts; final assembled schema and domain validation |
|
||||
| Identified prompt sequences | Explicit item path/glob imports, helper-supplied IDs, reusable single-field registration, and main-tier replacement of a lower-priority collection | Prompt meaning and final domain validation |
|
||||
| Identified prompt sequences | Explicit item path/glob imports, helper-supplied IDs, reusable single-field registration, same-sequence record inheritance, and main-tier replacement of a lower-priority collection | Prompt meaning and final domain validation |
|
||||
|
||||
The YAML under [`testdata`](../../examples/consumers/testdata) is loaded by the
|
||||
executable examples and ordinary tests. It contains no private application data,
|
||||
@@ -206,10 +206,17 @@ are complete local examples.
|
||||
keep the smaller adoption path visible: one explicitly required file import,
|
||||
the same identity registration, and the same application validation.
|
||||
|
||||
The registered `id` also identifies surviving prompt records that use
|
||||
`extends: {id: "base-id"}`. ConfigKit resolves these references within the
|
||||
completed prompt sequence after tier assembly, preserves the child's own ID, and
|
||||
records inherited values at the child's paths. The
|
||||
[configuration contract](../config.md#sibling-inheritance) defines the exact
|
||||
reference and nested collection behavior.
|
||||
|
||||
The example's `validatePromptCatalog` remains application-owned. It checks that
|
||||
prompt names and message lists satisfy this consumer's requirements after
|
||||
ConfigKit has composed, projected, and decoded the configuration. It does not
|
||||
add recursive record merging, identity-based overlay, or final uniqueness checks
|
||||
ConfigKit has composed, inherited, projected, and decoded the configuration.
|
||||
ConfigKit does not apply identity-based overlays or enforce final uniqueness
|
||||
after defaults and resolution. See the [strict composition contract](../config.md#strict-document-composition),
|
||||
[import syntax](../config.md#explicit-imports), and
|
||||
[ADR 0014](../adr/0014-sequence-placement-and-composition.md) for the exact
|
||||
|
||||
Reference in New Issue
Block a user