Document and benchmark sibling inheritance
This commit is contained in:
@@ -15,7 +15,8 @@ The following remain deliberately excluded:
|
||||
|
||||
- automatic `conf.d` discovery;
|
||||
- remote imports, arbitrary providers, and additional configuration formats;
|
||||
- custom merge strategies, sequence merging, and reset operators;
|
||||
- custom merge strategies, sequence merging, reset operators, multiple-parent
|
||||
inheritance, and cross-scope references;
|
||||
- named overlay inheritance;
|
||||
- parser-specific or custom structural-decoding extension APIs;
|
||||
- generic dynamic-subtree conversion and module-registry APIs;
|
||||
@@ -28,7 +29,6 @@ Applications may build their own validate, effective-value, source, bootstrap, a
|
||||
explanation commands around the library. Broadening these boundaries requires
|
||||
concrete consumer evidence, compatibility review, and an explicit design change.
|
||||
|
||||
Built-in sibling inheritance using `extends` is proposed in the
|
||||
[named-inheritance roadmap](named-inheritance.md), based on the
|
||||
[downstream request](feature-request-promptkit-inheritance.md). It is not yet
|
||||
implemented and is distinct from inheritance between selected overlay files.
|
||||
Built-in sibling inheritance using `extends` is implemented as described in the
|
||||
[configuration contract](../config.md#sibling-inheritance). It is distinct from
|
||||
inheritance between selected overlay files, which remains excluded above.
|
||||
|
||||
@@ -314,6 +314,15 @@ not a full duplication of every mechanism test. Run `./scripts/check.sh` and
|
||||
|
||||
## Stage 8 — Validate scaling and complete documentation
|
||||
|
||||
**Completed 2026-09-29.** Benchmarks cover chains, shared-parent width, nested
|
||||
destinations, replacements, and full inspected loads. Skipping repeated scope
|
||||
assembly when no immediate relationship exists reduced measured work while a
|
||||
single boundary clone preserves caller-input ownership. The maintained preset
|
||||
example, configuration contract, consumer guidance, internal navigation,
|
||||
architecture/deferred scope, and ADR 0009 now describe the implemented feature.
|
||||
`./scripts/check.sh`, `go test -race ./...`, and the focused benchmarks passed.
|
||||
No release was tagged or published.
|
||||
|
||||
Add focused benchmarks beside assembly/underlay benchmarks: long chains, wide
|
||||
shared-parent scopes, nested destination expansion, and replacements. Evaluate
|
||||
allocations/work against input, materialized output, and retained history,
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
# Built-In Sibling Configuration Inheritance
|
||||
|
||||
Status: agreed feature design; not implemented. This document defines the intended
|
||||
end state. The [implementation plan](implementation.md) defines execution steps.
|
||||
Status: implemented. The [configuration contract](../config.md#sibling-inheritance)
|
||||
owns current behavior. This document preserves the agreed design and its
|
||||
baseline; the [implementation plan](implementation.md) records completed work.
|
||||
|
||||
## Purpose and priorities
|
||||
|
||||
@@ -23,7 +24,7 @@ reduced consumer configuration infrastructure. Computational efficiency matters
|
||||
within those goals: resolve shared ancestors once and account for the size of
|
||||
materialized results and retained history. Avoid an unconditional O(n) promise.
|
||||
|
||||
## Current baseline
|
||||
## Baseline at design time
|
||||
|
||||
Baseline: `b604aa167b684525f0d5d806d9c4267824151ee4`, after the filesystem-source
|
||||
and underlay implementation and its remediation.
|
||||
|
||||
Reference in New Issue
Block a user