Document and benchmark sibling inheritance

This commit is contained in:
2026-09-29 23:13:50 +00:00
parent df9a02539c
commit 2ca1f80094
22 changed files with 440 additions and 56 deletions

View File

@@ -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.

View File

@@ -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,

View File

@@ -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.