# 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`; and - 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 - 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`. 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 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.