2.1 KiB
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
Pathconstruction and strict JSON Pointer parsing; - detached provenance and diagnostic record types with empty
Metadataqueries; - canonical, control-safe diagnostic rendering and structured
LoadErroraccess; - 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.gofor 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 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:
This document will inventory additional components and link to their current contracts and focused internal documentation as they are introduced.
The architecture policy owns binding boundaries and invariants. The initial target design describes planned behavior; it is not an inventory of implemented features. See the development guide for contributor orientation and validation.