Decode typed configuration over defaults
This commit is contained in:
@@ -170,6 +170,19 @@ Assigned across schema, decoding, resolution, validation, and consumer examples:
|
||||
application-owned; every domain mutation is recorded. Campaign/session fallback,
|
||||
search paths, fetching, storage, and concrete default values remain in Narratio.
|
||||
|
||||
Implementation record (2026-09-06): ConfigKit generalized Narratio's fresh-default,
|
||||
strict nested-type, and explicit-presence cases into `decode.go` and
|
||||
`decode_test.go`. The decoder applies the owned document tree over a detached typed
|
||||
baseline, treats mappings recursively and sequences atomically, preserves explicit
|
||||
false/zero/empty/null, rejects unknown nested fields, and returns private presence
|
||||
and default/input origin artifacts. Unlike Narratio's custom YAML hooks and
|
||||
pointer/zero inference, presence comes directly from the parsed tree and equal-valued
|
||||
input remains explicit. ConfigKit also adds destination-width numeric checks,
|
||||
dynamic `int64`/`float64`, exact arrays, duration strings, paired text codecs, safe
|
||||
multi-error collection, and repeated-result isolation. Resolution, validation,
|
||||
consumer defaults, and all campaign/session algorithms remain assigned to later
|
||||
work.
|
||||
|
||||
### Secrets bootstrap
|
||||
|
||||
Assigned to the explicit bootstrap operation:
|
||||
|
||||
Reference in New Issue
Block a user