Plan filesystem sources and underlays

This commit is contained in:
2026-09-29 16:50:11 +00:00
parent 36172ed20e
commit 27df838513
7 changed files with 805 additions and 63 deletions

View File

@@ -41,6 +41,21 @@ load once, inspect where final values came from, and distinguish explicit values
from omissions with minimal configuration bookkeeping. Applications retain their
domain rules and execution responsibilities.
Loading is synchronous and complete on return. Applications normally load once
near startup and then use the final configuration and metadata; ConfigKit stays
inactive until explicitly called again. Applications may initiate additional
loads as needed. See the [loading lifecycle](docs/config.md#completion-and-resource-lifetime)
for completion and ownership details.
Within a configuration tier, independent contributions compose strictly: shared
mappings combine, while overlapping non-mapping definitions are errors. Between
precedence tiers, mappings combine recursively, retaining omitted lower-priority
children; other values replace lower-priority values. Today, the main document
and its imports form the strictly composed base, with a selected overlay and
explicit CLI overrides above it and typed defaults below it. The
[configuration contract](docs/config.md#strict-document-composition) owns the
detailed combination rules and input-specific constraints.
The [architecture goals](docs/policy/architecture.md#success-criteria) explain
these priorities and how genuine new needs can justify extending the shared
model. The [deferred scope](docs/roadmap/deferred.md) records deliberate exclusions.