71 lines
4.5 KiB
Markdown
71 lines
4.5 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;
|
|
`parse.go` owns shared translation into detached, ordered public diagnostics;
|
|
- a private strict composer in `compose.go` that joins only disjoint document-tree
|
|
definitions, retains ordered claims and composite mapping origins, reports every
|
|
conflicting location, and never aliases an input tree;
|
|
- fixed selected-profile loading in `profile.go` and recursive, non-aliasing overlay
|
|
with displacement records in `overlay.go`; overlay records retain origins,
|
|
while value explanation uses separate history applications;
|
|
- detached parser-neutral CLI override validation and synthetic-source application
|
|
in `override.go`, sharing overlay, source, byte, node, and depth policies;
|
|
- 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`;
|
|
- 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;
|
|
- public lifecycle coordination in `load.go`, bounded canonical import DFS in
|
|
`imports.go`, pattern-directed glob expansion in `glob.go`, version-report contexts
|
|
in `validation.go`, and detached layered metadata/history assembly in
|
|
`load_metadata.go`;
|
|
- recorded application defaulting and normalization in `resolution.go`, including
|
|
explicitness queries, helper verification, structural mutation audit, coalesced
|
|
intent, private before/after snapshots, and resolution metadata integration;
|
|
- post-resolution schema-aware report collection and validator mutation detection in
|
|
`validation.go`, completing the public callback lifecycle after composed input;
|
|
- opaque typed environment references and per-load name resolution in
|
|
`secret_reference.go`, including credential-free projection/cloning and private
|
|
validator-state auditing;
|
|
- explicit bounded startup environment bootstrap and safe partial reporting in
|
|
`secrets.go`;
|
|
- fixed-point tag/predicate/dependency sensitivity classification in `secret.go`;
|
|
- frozen-snapshot redaction and canonical effective output in `render.go`;
|
|
- bounded immutable input applications, safe historical replay, detached explanation
|
|
records, and deterministic human rendering in `explain.go`, with the
|
|
only upstream dumper integration isolated in `internal/yaml/write.go`;
|
|
- a separate maintained `examples/consumers` package with four sanitized consumer
|
|
shapes, fixtures, domain validators, and runtime-boundary functions; and
|
|
- a fail-fast source-candidate checker in `scripts/release-check.sh`, with local
|
|
documentation-link and public import-boundary gates owned by root-package tests.
|
|
|
|
The [configuration contract](../config.md) owns implemented input, schema, decoding,
|
|
loading lifecycle, path imports, composition, profile/CLI overlay, version checking,
|
|
recorded resolution, typed secret references/bootstrap, semantic validation,
|
|
metadata, secret classification, redacted effective rendering, historical
|
|
explanation, and ownership behavior.
|
|
The [consumer adoption guide](../consumers/README.md) owns current application-fit
|
|
and migration guidance.
|
|
|
|
The source-extraction inventory records the application foundations used by the
|
|
implementation:
|
|
|
|
- [Extraction inventory](extraction.md)
|
|
|
|
The [architecture policy](../policy/architecture.md) owns binding boundaries and
|
|
invariants. The [initial target record](../roadmap/initial.md) links current feature
|
|
owners and preserves deferred scope; it is not an implementation inventory. See the
|
|
[development guide](../development.md) for contributor orientation and validation
|
|
and the [release procedure](../release.md) for source-candidate gates.
|