38 lines
2.1 KiB
Markdown
38 lines
2.1 KiB
Markdown
# Internal Component Overview
|
|
|
|
ConfigKit currently contains the root `configkit` package, which establishes the
|
|
module and package documentation boundary. Its implemented public primitives are:
|
|
|
|
- immutable semantic `Path` construction and strict JSON Pointer parsing;
|
|
- 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`;
|
|
- the sole upstream YAML integration in `internal/yaml`, which translates validated
|
|
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;
|
|
- descriptor-driven canonical projection, detached typed cloning, cycle/limit
|
|
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, 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:
|
|
|
|
- [Extraction inventory](extraction.md)
|
|
|
|
This document will inventory additional components and link to their current
|
|
contracts and focused internal documentation as they are introduced.
|
|
|
|
The [architecture policy](../policy/architecture.md) owns binding boundaries and
|
|
invariants. The [initial target design](../roadmap/initial.md) describes planned
|
|
behavior; it is not an inventory of implemented features. See the
|
|
[development guide](../development.md) for contributor orientation and validation.
|