Decode typed configuration over defaults

This commit is contained in:
2026-09-06 19:52:45 +00:00
parent 15172294b5
commit 21e3f633bc
8 changed files with 884 additions and 74 deletions

View File

@@ -7,18 +7,21 @@ module and package documentation boundary. Its implemented public primitives are
- detached provenance and diagnostic record types with empty `Metadata` queries;
- canonical, control-safe diagnostic rendering and structured `LoadError` access;
- opaque file, byte, reader, and no-input source construction and bounded reads;
- a parser-independent ordered tree in `internal/document`; and
- a parser-independent ordered tree in `internal/document`;
- the sole upstream YAML integration in `internal/yaml`, which translates validated
input into that owned tree and exposes no parser types outside its boundary; and
input into that owned tree and exposes no parser types outside its boundary;
- a per-operation private reflection descriptor graph in `schema.go` for supported
types, YAML field binding, inlining, secret tags, recursion, and semantic paths;
and
- descriptor-driven canonical projection, detached typed cloning, cycle/limit
enforcement, and structural comparison in `projection.go`.
enforcement, and structural comparison in `projection.go`; and
- strict schema-driven decoding over detached defaults in `decode.go`, including
mapping/sequence semantics, null and numeric policy, safe codec errors, presence,
baseline/final trees, and initial default/input origins.
The [configuration contract](../config.md) owns implemented input, schema, and
ownership behavior. ConfigKit intentionally exposes no typed loading or decoding API yet.
Private metadata population will be integrated when that lifecycle exists.
The [configuration contract](../config.md) owns implemented input, schema, decoding,
and ownership behavior. ConfigKit intentionally exposes no typed loading API yet;
the decoder and its initial metadata artifacts remain private until that lifecycle
exists.
The source-extraction inventory records the application foundations assigned to
future implementation work: