Preserve inherited presence and validation
This commit is contained in:
@@ -121,6 +121,14 @@ sequence, so a step cannot extend another step. Replacing `steps` or a validator
|
||||
chain supplies the complete replacement sequence; entries are not appended or
|
||||
merged by identifier.
|
||||
|
||||
Inherited values count as explicit input for Notarius's existing
|
||||
presence-sensitive rules: zero, false, and empty-list overrides stay explicit
|
||||
instead of restoring a default. Null also replaces the inherited value, but
|
||||
each field's ordinary type and validation rules still apply; null is not
|
||||
universally valid. Omitting `extends` preserves a relationship supplied by a
|
||||
lower-priority source, while `extends: null` cancels that relationship. It
|
||||
does not independently clear other inherited fields.
|
||||
|
||||
`extends` is now a reserved key in every input mapping, including dynamic
|
||||
module options and named maps. Existing ordinary data or entry names using that
|
||||
key must be renamed along with any consumer that reads them. Configuration
|
||||
|
||||
@@ -168,6 +168,8 @@ syntax section. Presence-sensitive cases belong to Stage 3.
|
||||
|
||||
## Stage 3 — Preserve Presence And Existing Domain Validation
|
||||
|
||||
> Completion: complete.
|
||||
|
||||
Goal: ensure inherited input remains explicit through Notarius normalization,
|
||||
defaulting, and validator-chain conversion.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user